ساخت یک پیام رسان درون شبکه ای با پایتون

سلام دوستان این اولین متنی هست که می نویسم تو این متن می خوام یاد بدم که چطوری با پایتون یک پیام رسان کوچول مچولو بسازید ?


خب بریم سراغ اموزش اول از همه نیاز به کتاب خونه سوکت داریم که برای اضافه کردنش می تونید از دستور

import socket

استفاده کنید

اول از همه بگم این پیام رسان فقط توی یک شبکه کار می کنه و اگر می خواید از یک گوشی دیگه از اون ور دنیا با یک گوشیه این ور دنیا چت کنید باید بگم باید یکسری کار های اضافی انجام بدید که اسمش هم هست پورت فورواردینگ که حالا بحث ما نیست پس وارد جزئیات نمی شیم



بعد از اضافه کردن کتابخونه باید اول براش یک ایپی سرور و یک پورت باز انتخاب کنید

اول از همه این دستورات می نویسید

ip = 'localhost'

port = 8000

خب ببینید ایپی اون ادرسی که نشانه گوشی شماست مثلا مثل یک پلاک برای گوشی شما کلمه لوکال هاست هم به منظور اینه که ایپی رو ایپی دستگاه یا کامپیوتر من قرار بده ولی بهتر که ایپی دسگاهتون رو بنویسید روش های زیادی برای پیدا کردن ایپی هست که می تونید سرچ کنید


خب باز هم دقت کنید پورت هم یک نوع عدد که زیاد مهم نیست ( البته مهم ولی برای تازه کارا فعلا نمی خواد مسال جزئی رو بدونن )


خب کد بعدی برای سورس سرور کد فراخوانی socket که کدش هم هست

server=socket.socket() 

بعد از اون میایم تعریف می کنیم که یک سرور برامون ایجاد کن با ایپی و پورت فلان که بالا مشخص کردیم

server.bind((ip,port)) 

حالا وقتش که بیایم بگیم که صبر کن تا یکی به سرور یا همون ایپیمون وصل بشه که با این دستور فراخوانیش می کنیم

server.listen() 

بعدش هم یک حلقه با نوع while ایجاد می کنیم تا رابطه ارسال پیام و دریافت پیام از طرف مقابل رو براش تعریف کنیم که کد هاش به صورت زیر


c , addr = server.accept()
while True :
     msg = input('your msg : ')
     c.send(msg.encode())
     print(c.revc().decode())


تو کد های بالا قسمت اول تایید کردم که طرف به سرور وصل شده

تو قسمت دوم حلقه رو ساختم

تو قسمت سوم پیام که ما می خوایم برام طرف مقابل بفرستیم رو خواستم با دستور input

و بعدش با کد send اطلاعات ارسال کردم

و بعد اطلاعاتی که طرف می فرستد رو با دستور recv دریافت کردم

قسمت های encode و decode هم خودتون یک تحقیقی بکنید چون خیلی به دردتون می خوره

کد زیباشده و کامل شده همین سورس رو تو قسمت پایین براتون می زارم


import socket
import os
os.system('clear')
s = socket.socket()
ip = 'localhost'
port = 9999
s.bind((ip,port))
s.listen()
print ('lotfan sabr konid ')
c , addr =s.accept()
print ('ek nafar join dad')

class color : 
    GREEN = '\033[92m'
    RED = '\033[91m'
    WHITE = '\033[0m'

while True :
     msg = input(color.RED + 'payam shoma : ' )
    c.send(msg.encode('utf8'))
    print (color.GREEN + c.recv(1024).decode())

داخل سورس بالا من یکمی رنگ و پیغام اضافه کردم برا قشنگی


سورس دریافت کننده پیام و سورس کلاینت در اموزش بعد

سوالی داشتید داخل کامنت ها بنویسید بسیار ممنون

خدانگهدار?

بفرمایید نتیجه کار ...

قسمت بعدی در اموزش بعدی ...

قسمت دوم اموزش

https://vrgl.ir/AtXak