通过实习生与另一个python程序通信

2024-06-25 22:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 程序网络机器应用程序游戏列表软件编程
3条回答

聊天/即时通讯解决方案似乎是个好主意。在

对于chat/IM,可以使用Jabber/XMPP。你要么需要设置自己的服务器,要么找个人为公众托管一个服务器。设置Jabber服务器相当容易,例如可以使用OpenFire。为了连接到Jabber,可以使用python xmpp库来发送和接收消息。这可能是最简单的方法,因为Jabber库往往非常容易使用。(我是用Java和.NET完成的,而不是python)。在

另一种方法是使用类似twitter的消息传递。请参阅Python Twitter library: which one?,以获得支持直接消息传递(这正是您需要的)的库的建议。这样做的好处是,一旦学习了twitter API,就不需要自己的服务器了。在

您应该使用socket moduleExample programs。使用socket并不难,基本上服务器端必须bind()listen(),然后{},而客户机只需connect()。从那里,recv()和{}可分别用于接收和发送数据。如果您真的不想使用socket,那么可以使用IRC或{a4}之类的聊天协议。在

这是一个宽泛的、固执己见的问题,但是我在Python中使用的gotonetworkcommunicationprotocol是Twisted的PerspectiveBroker。它是事件驱动的,设置有点复杂,需要控制程序的事件循环,但它工作得很好。它允许客户端和服务器之间的双向通信,并具有远程对象的便利性。在

相关问题 更多 >