我需要制作一个可以在互联网上运行的国际象棋多人游戏。我是编程和网络的初学者,虽然我管理过基于 GUI 的国际象棋平台。现在我需要克服通过互联网配置游戏的挑战。为了做到这一点,我想使用第三方应用程序或软件(除了套接字编程之外的任何东西)来使在两台机器上运行的 python 程序相互通信。我希望做的是,每当有人移动时,我想通过互联网将他/她的棋子的更新坐标的字符串/列表发送给第二个玩家,这样他就可以看到已经移动了什么制成。谁能告诉我从哪里开始或读什么?使用像心灵感应这样的开源聊天实用程序发送更新的字符串/坐标列表的想法是否可行?
问问题
1568 次
3 回答
0
这是一个广泛的、固执己见的问题,但我在 Python 中的首选网络通信协议是 Twisted 的Perspective Broker。它是事件驱动的,设置起来有点复杂,需要控制程序的事件循环,但效果很好。它允许客户端和服务器之间的双向通信,并具有远程对象的便利。
于 2013-11-06T15:58:33.507 回答
0
聊天/IM 解决方案似乎是个好主意。
对于聊天/IM,您可以使用 Jabber/XMPP。您要么需要设置自己的服务器,要么找人为公众托管一台。设置 Jabber 服务器相当容易,例如可以使用OpenFire。要连接到 Jabber,您可以使用python xmpp库来发送和接收消息。这可能是最简单的方法,因为 Jabber 库往往非常易于使用。(不过,我是在 Java 和 .NET 中完成的,而不是 python)。
另一种方法是使用诸如twitter消息之类的东西。请参阅Python Twitter 库:哪个?推荐支持直接消息传递的库(这是您需要的)。这样做的好处是,一旦你学会了 twitter API,你就不需要自己的服务器了。
于 2013-11-06T15:33:34.847 回答