我需要做一个国际象棋多人游戏,在互联网上工作。我是编程和网络的初学者,尽管我管理过基于GUI的象棋平台。
现在我需要克服在互联网上配置游戏的挑战。
为了做到这一点,我想使用第三方应用程序或软件(除了socket编程之外的任何东西)来使运行在两台机器上的python程序相互通信。我希望做的是,每当有人移动时,我想通过互联网将他/她的棋子的更新坐标串/列表发送给第二个棋手,这样他/她的棋子就可以看到移动了。有谁能告诉我们从哪里开始读什么?使用像心灵感应这样的开源聊天工具发送更新后的字符串/坐标列表的想法是否可行?在
Tags:
聊天/即时通讯解决方案似乎是个好主意。在
对于chat/IM,可以使用Jabber/XMPP。你要么需要设置自己的服务器,要么找个人为公众托管一个服务器。设置Jabber服务器相当容易,例如可以使用OpenFire。为了连接到Jabber,可以使用python xmpp库来发送和接收消息。这可能是最简单的方法,因为Jabber库往往非常容易使用。(我是用Java和.NET完成的,而不是python)。在
另一种方法是使用类似twitter的消息传递。请参阅Python Twitter library: which one?,以获得支持直接消息传递(这正是您需要的)的库的建议。这样做的好处是,一旦学习了twitter API,就不需要自己的服务器了。在
您应该使用socket module。Example programs。使用socket并不难,基本上服务器端必须},而客户机只需}可分别用于接收和发送数据。如果您真的不想使用
bind()
,listen()
,然后{connect()
。从那里,recv()
和{socket
,那么可以使用IRC或{a4}之类的聊天协议。在这是一个宽泛的、固执己见的问题,但是我在Python中使用的gotonetworkcommunicationprotocol是Twisted的PerspectiveBroker。它是事件驱动的,设置有点复杂,需要控制程序的事件循环,但它工作得很好。它允许客户端和服务器之间的双向通信,并具有远程对象的便利性。在
相关问题 更多 >
编程相关推荐