Как бы я делал каждые 5 секунд цикл следующего кода:
sendSocket = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
sendSocket.connect ( ( 'CENSORED', 1234 ) )
sendSocket.send ( 'request posit' )
data = sendSocket.recv( 100 )
chatLog.insert(END, data)
Я хочу, чтобы клиент получал данные каждые 5 секунд с сервера, я сделал некоторое время True loop (lol) и интерфейс программыЯ даже не загрузился, и сервер был залит клиентом.
Я просто хочу, чтобы сервер обновлял клиента каждые 5 секунд с помощью переменной, которая хранится на сервере, без необходимости нажимать кнопку вручную.
import socket, time
from Tkinter import *
## Main Window
gui = Tk()
gui.geometry('450x350-5+40')
gui.minsize(450,350)
gui.maxsize(450,350)
userInput = StringVar()
## Main window that displays user and server input.
chatLog = Text(gui, width=60, height=15)
chatLog.pack()
## Send Packet function, main part of the script. Sends whatever the user puts in.
def sendChat():
sendSocket = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
sendSocket.connect ( ( 'nope.com', 1234 ) )
sendSocket.send ( e.get() )
data = sendSocket.recv( 100 )
chatLog.insert(END, data)
sendSocket.close()
while True:
sendSocket = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
sendSocket.connect ( ( 'nope.com', 1234 ) )
sendSocket.send ( 'request posit' )
data = sendSocket.recv( 100 )
chatLog.insert(END, data)
sendSocket.close()
time.sleep (5.0)
## Submit text button
b = Button(gui, text="Send", command=sendChat )
b.pack()
## Text entry box
e = Entry(gui, textvariable=userInput)
e.pack()
gui.mainloop()