2

我需要制作一个可以在互联网上运行的国际象棋多人游戏。我是编程和网络的初学者,虽然我管理过基于 GUI 的国际象棋平台。现在我需要克服通过互联网配置游戏的挑战。为了做到这一点,我想使用第三方应用程序或软件(除了套接字编程之外的任何东西)来使在两台机器上运行的 python 程序相互通信。我希望做的是,每当有人移动时,我想通过互联网将他/她的棋子的更新坐标的字符串/列表发送给第二个玩家,这样他就可以看到已经移动了什么制成。谁能告诉我从哪里开始或读什么?使用像心灵感应这样的开源聊天实用程序发送更新的字符串/坐标列表的想法是否可行?

4

3 回答 3

3

您想使用套接字模块示例程序。使用socket真的没那么难,基本上服务端要bind(),,listen()然后accept()客户端要简单connect()。从那里可以分别用于接收和发送数据recv()sendall()如果你真的不想使用socket,那么你可以使用像IRCXMPP这样的聊天协议。

于 2013-11-06T15:09:25.437 回答
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 回答