سلام . من محمد جواد حق بیگیم دانش آموز کلاس هشتم تیزهوشان(تیزهوشان انصافا خیلی سخته) . عاشق برنامه نویسیم و امیدوارم حالتون خوب باشه:)
اموزش ساخت پیام رسان با پایتون
به نام خدا من در این آموزش به شما یاد میدم چطور یک پیام رسان گرفیکی ساده بسازیم برای شروع اول کتابخانه های مورد نظر رو ایمپورت میکنیم
from tkinter import *
import socket
import threading
بعد صفحه وارد کردن ip و port برای انتخاب :
def set():
global ip
ip = str(i.get())
global port
port = int(p.get())
r.destroy()
def ip():
global r
r = Tk()
global i
i = Entry(r)
i.pack(fill = 'x')
global p
p = Entry(r)
p.pack(fill = 'x')
se = Button(r , text = 'set ip , port' , command = set)
se.pack(fill = 'x')
r.mainloop()
ip()
بعد برای انتخاب ip و port
s = socket.socket()
s.bind((ip , port))
s.listen()
con , addr = s.accept()
و برای گرافیک برنامه
win = Tk()
m = Entry(win)
m.pack(fill = 'x')
send= Button(win , text = 'send' , command = sends)
send.pack(fill = 'x')
win.mainloop()
برای تابع ارسال (بالای تعریف دکمه send بنویسید)
def sends():
message = str(m.get())
con.send(message.encode())
l1 = Label(win , text = message)
l1.pack(fill = 'x')
و برای رویداد (بین کد های ()win = Tkو ()win.mainloop)
def recv():
while True:
data = con.recv(1024).decode()
l = Label(win , text = data, bg = 'black' , fg = 'green')
l.pack(fill = 'x')
و در اخر threading رو انجام میدیم
send = threading.Thread(target=sends).start()
recv = threading.Thread(target=recv).start()
این کد که در بالا نوشتیم برای server بود این هم کد client
import socket
from tkinter import *
import threading
def set():
global ip
ip = str(i.get())
global port
port = int(p.get())
r.destroy()
def ip():
global r
r = Tk()
global i
i = Entry(r)
i.pack(fill = 'x')
global p
p = Entry(r)
p.pack(fill = 'x')
se = Button(r , text = 'connect' , command = set)
se.pack(fill = 'x')
r.mainloop()
ip()
win = Tk()
win.config(bg = 'black')
m = Entry(win)
m.pack(fill = 'x')
def sends():
message = str(m.get())
s.send(message.encode())
l1 = Label(win , text = message)
l1.pack(fill = 'x')
send= Button(win , text = 'send' , command = sends)
send.pack(fill = 'x')
s = socket.socket()
s.connect((ip , port))
def recev():
while True:
data = s.recv(1024).decode()
l = Label(win , text = data , bg = 'black' , fg = 'green')
l.pack(fill = 'x')
send = threading.Thread(target=sends).start()
recv = threading.Thread(target=recv).start()
win.mainloop()
خوب این آموزش به پایان رسید به وبلاگم سر بزنید:https://irnelm.blog.ir
تا مطلب بعد خدا حافظ
مطلبی دیگر از این انتشارات
اموزش استخراج فایل فشرده در پایتون
مطلبی دیگر از این انتشارات
اموزش کنترل موس با پایتون
مطلبی دیگر از این انتشارات
آموزش بدست اوردن اطلاعات سیستم با پایتون