Python:套接字监听连接时显示消息“ Waiting for player ...”

巴福

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

创建游戏时,我试图让它显示一条消息“正在等待玩家...”,然后单击取消按钮停止并返回主菜单,如果已建立连接,则该按钮会自动消失公认。

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

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

谢谢!

夏洛特·戈德利

听起来像是线程问题。

我不熟悉TK图形,但是我想您需要做的是启动显示“正在等待玩家”消息的窗口。然后,该窗口循环播放,等待发生某些事情。

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

在主GUI线程上,需要进行循环:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

连接到VPN时失去与vmware player VM的连接

来自分类Dev

使用AI Player井字游戏

来自分类Dev

Azure Media Player-在进行编码时显示编码进度或某种排序消息

来自分类Dev

VMware Player失去互联网连接

来自分类Dev

互联网连接VMWare Player 6

来自分类Dev

Windows Media Player是否可以显示毫秒

来自分类Dev

Haxe项目仅显示空白的Flash Player

来自分类Dev

Flutter video_player无法显示视频

来自分类Dev

使Windows中的VMware Player全屏显示?

来自分类Dev

Windows Media Player可以显示毫秒吗

来自分类Dev

admod关闭后显示Media Player的日志

来自分类Dev

Jw Player完全不显示

来自分类Dev

单击停止时的Media Player问题

来自分类Dev

安装 VMWare Player Tools 时出错

来自分类Dev

Windows Media Player 12播放时显示错误的封面

来自分类Dev

SocketIO断开连接,退出套接字监听

来自分类Dev

java套接字监听不接受连接?

来自分类Dev

当没有监听套接字绑定但连接打开时获取EADDRINUSE的语义是什么

来自分类Dev

我无法使用centos从vmware player连接互联网

来自分类Dev

exoplayer player错误无法连接到hls链接

来自分类Dev

我无法使用centos从vmware player连接互联网

来自分类Dev

播放Media Player时更新Android Seebar时音频中断

来自分类Dev

VMware Player Ubuntu显示正在复制(复制)监视器

来自分类Dev

Game Center Player显示名称始终在沙箱中为“我”

来自分类Dev

如何在VMware Player的Mint Linux中获得全屏显示?

来自分类Dev

Linux Flash Player Mozilla FireFox插件显示为蓝色

来自分类Dev

Chrome Flash Player扩展程序不断显示Black Bar 14.04

来自分类Dev

如何在Unity中显示player.transform.position?

来自分类Dev

VMWare Player 不显示 USB 设备或网络工作

Related 相关文章

热门标签

归档