Python:显示消息'等待播放器......'当socket侦听连接时

时间:2015-05-25 01:35:05

标签: python sockets p2p

使用带有套接字的P2P架构在Python中制作一个非常简单的井字游戏。目前,我的GUI上有一个按钮,上面写着“创建'这将打开并绘制一个新的游戏板窗口,创建一个套接字,绑定,监听和接受连接。加入'加入'按钮将打开并绘制一个新的游戏板并连接到该服务器'。

我试图让它显示一条消息,说“等待播放器......”#39;当你创建一个游戏时,一个取消按钮停下来然后回到主菜单,如果已经接受了连接,它就会自动消失。

我尝试使用tkMessageBox,但脚本会停止,直到用户清除消息,因此在用户按下某些内容之前我无法听取/接受。

我还有什么方法可以做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

听起来像是一个线程问题。

我不熟悉TK图形,但我想象你需要做的是启动窗口显示等待播放器"信息。那个窗口然后循环等待发生的事情。

当显示消息框时,您需要进行" listen"在另一个线程上完成,当有人使用信号量或队列连接时,该线程会发回主消息框。

在您的主GUI线程中,您需要进行循环:

  1. 检查队列或信号量的值。如果您希望有一个值,请关闭该框。这需要非阻塞,以便GUI线程仍然可以检查用户的输入。
  2. 检查用户输入。这可能是使用回调函数完成的。