Форум сайта python.su
Написал чат. После продолжительной отправки сообщений с клиента на сервер окно клиента зависает и не работает.
Сервер
import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind(('', 9998)) clients = [] while 1: data, addr = s.recvfrom(1024) if addr not in clients: clients.append(addr) for x in clients: print(x) try: x.send((addr+' connected').encode()) except: pass print(data.decode())
import socket from tkinter import * root = Tk() sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.connect(('localhost', 9998)) root.resizable(False, False) root.geometry('500x500') def send1(event): sock.send(e1.get().encode()) e1.delete(0, END) def loop(): try: message = sock.recv() t1.insert(message+'\n') except: root.after(500, loop) root.after(500, loop) t1 = Text(root) e1 = Entry(root) t1.configure(state=DISABLED) e1.bind('<Return>', send1) t1.pack(side='top', fill='both', expand='true') e1.pack(side='bottom', fill='x', expand='true') root.after(500, loop) root.mainloop()
Офлайн