Advertisement
Dzmitrock

Chat_client1

Sep 22nd, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.27 KB | None | 0 0
  1. import socket
  2. import tkinter
  3.  
  4. def loop():
  5.     sock_recv.setblocking(False)
  6.     try:
  7.  
  8.         message = sock_recv.recv(128)
  9.         log.insert('end', message.decode()+'\n')
  10.         tk.after(1000,loop)
  11.     except:
  12.         tk.after(1000, loop)
  13.         return
  14.  
  15.     tk.after(1000, loop)
  16.     return
  17.  
  18.  
  19. def sendproc(event):
  20.     sock_send.sendto((name.get()+': '+text.get()).encode(), ('255.255.255.255', 11719))
  21.     text.set('')
  22.  
  23. sock_recv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  24. sock_recv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  25. sock_recv.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  26. sock_recv.bind(('0.0.0.0', 11719))
  27.  
  28.  
  29. sock_send = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  30. sock_send.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  31.  
  32. tk = tkinter.Tk()
  33.  
  34. text=tkinter.StringVar()
  35. name=tkinter.StringVar()
  36. name.set('Dzmitrock')
  37.  
  38. tk.title('MyChat_'+name.get())
  39. tk.geometry('400x500')
  40.  
  41. log = tkinter.Text(tk)
  42. log.pack(side='top', fill='both', expand='true')
  43. msg= tkinter.Entry(tk, textvariable = text)
  44. msg.pack(side='bottom', fill='x', expand='true')
  45. nik = tkinter.Entry(tk, textvariable = name)
  46. nik.pack(side='bottom', fill='x', expand='true')
  47.  
  48.  
  49.  
  50. msg.bind('<Return>', sendproc)
  51.  
  52.  
  53. tk.after(1000, loop)
  54.  
  55. tk.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement