我正在尝试将一个客户机-服务器包制作成一个应用程序。因此,当应用程序打开时,服务器会自动进入待机/监听模式。问题是在运行服务器套接字时,直到socket.accept()
之后才会显示gui。我希望gui和服务器套接字同时发生。你知道吗
我已经注释掉了几行代码,它可以按预期工作到conn,addr=s.accept()
imports*
root= Tk()
#main config
#mouse drag
# ------------------ Server Socket ------------------
connectionStatus = Label(rootCanvasBG)
connectionStatus.grid(column=0, row=7)
s = socket.socket()
host = socket.gethostname()
port = 8080
s.bind((host, port))
s.listen(10)
print(host)
print('waiting for connection')
connectionStatus.config(text='Waiting for any incoming connections')
conn, addr = s.accept() # thread issue, not showing tkinter
connectionStatus.config(text=addr)
print(addr, 'connected')
#Layout
root.mainloop()
我读过关于线程来解决这个问题的文章,但是没有一个例子能给出足够清晰的答案。我对python和一般编程还是相当陌生的。谢谢
找到解决方案,从导入
threading
开始 用while loop
为conn, addr = s.accept()
创建一个def mainloop()
使用threading.Thread()
以mainloop
和.start()
为目标执行线程。你知道吗相关问题 更多 >
编程相关推荐