Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """client."""
- from socket import *
- from threading import *
- import tkinter
- def push_data(event=None):
- New_msg = MY_New_msg.get()
- MY_New_msg.set("")
- client_socket.push_data(bytes(New_msg, "utf8"))
- if New_msg == "{exit}":
- client_socket.close()
- tkinter_GUI.quit()
- def get_data():
- while True:
- try:
- New_msg = client_socket.recv(BUFSIZ).decode("utf8")
- New_msg_list.insert(tkinter.END, New_msg)
- except OSError:
- break
- def when_close(event=None):
- MY_New_msg.set("{exit}")
- push_data()
- tkinter_GUI = tkinter.Tk()
- tkinter_GUI.title("CS201")
- messages_frame = tkinter.Frame(tkinter_GUI)
- MY_New_msg = tkinter.StringVar()
- MY_New_msg.set("Name")
- scrollbar = tkinter.Scrollbar(messages_frame)
- New_msg_list = tkinter.Listbox(messages_frame, height=15, width=50, yscrollcommand=scrollbar.set)
- scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
- New_msg_list.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
- New_msg_list.pack()
- messages_frame.pack()
- entry_field = tkinter.Entry(tkinter_GUI, textvariable=MY_New_msg)
- entry_field.bind("<Return>", push_data)
- entry_field.pack()
- push_data_button = tkinter.Button(tkinter_GUI, text="push_data", command=push_data)
- push_data_button.pack()
- tkinter_GUI.protocol("WM_DELETE_WINDOW", when_close)
- HOST = input('Enter host: ')
- PORT = input('Enter port: ')
- if not PORT:
- PORT = 33000
- else:
- PORT = int(PORT)
- BUFSIZ = 1024
- ADDR = (HOST, PORT)
- client_socket = socket(AF_INET, SOCK_STREAM)
- client_socket.connect(ADDR)
- get_data_thread = Thread(target=get_data)
- get_data_thread.start()
- tkinter.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement