2013-03-10 108 views
0

我正在做一个游戏(风险)。我已经完成了设置,因此不需要我完全重新设计网络的解决方案会更可取。问题是我已经进入了主要的游戏玩法,并且我需要同时允许来自多个用户的消息。总的想法是,当一个玩家轮到他们时,另一个玩家可以发送一个没收的消息,并且仍然退出游戏而不会使整个服务器崩溃。有没有办法做到这一点,可能使用线程?如何通过套接字同时发送消息?

+0

服务器 - 客户端模式:连接到服务器的客户端是免费的,而不会影响其他断开。是的,这涉及到线程。还将需要服务器套接字。 – Makoto 2013-03-10 07:28:17

+0

如果您开始使用线程套接字,我建议您查看['SocketServer'](http://docs.python.org/2/library/socketserver.html)模块。 – 2013-03-10 07:30:13

+0

如果您使用的是TCP,则不会有套接字上同时发生的消息。 – EJP 2013-03-10 08:58:49

回答

1

还有没有理由你的主线程应该被阻塞在一个连接上。
您需要一个侦听线程,当一个连接被做后台线程处理与客户端的通信。

你确实需要maintian防弹状态机让客户知道他们可以在任何状态下发送适当的消息,并且服务器需要知道哪些有效的信息可以在任何给定的状态进行处理。 搜索计算器,你会发现很多例子,比如这个: Sockets example

+0

在这里寻找更多特定于Python的信息:http://docs.python.org/2/library/socketserver.html – 2013-03-11 08:24:25