【问题标题】:python socket programming with Tkinter GUI使用 Tkinter GUI 进行 python 套接字编程
【发布时间】:2017-03-26 17:05:07
【问题描述】:

我正在尝试使用服务器和客户端连接来制作游戏,到目前为止,我一直在玩连接并在两者之间发送列表和字符串。这并不难理解,但现在我想为服务器和客户端使用 Tkinter GUI。

当我在客户端 GUI 上按下按钮时,我希望在两个窗口中出现相同的操作。因此,如果我按下一个按钮并在 GUI 上打印出一个文本,我希望在另一个 GUI 上打印出相同的文本,我该怎么做?我认为发送mainloop() 中的信息不会有任何问题,但我如何才能接收其中的信息?

如果有人花时间为我解释这一点,那就太好了,我一直在谷歌上搜索,但我真的找不到任何我能理解的东西。我对编程真的很陌生,所以如果没有很好的评论,网络上的大多数代码对我来说太难理解了。

【问题讨论】:

  • 可能你需要threading模块来运行阻塞recv函数。
  • 我不确定我是否理解。

标签: python-2.7 sockets tkinter


【解决方案1】:

Twisted 是一个高级框架,它使创建网络应用程序相对容易。只需几行就可以制作一个简单的 tcp echo 服务器:

from twisted.internet import protocol, reactor, endpoints

class Echo(protocol.Protocol):
    def dataReceived(self, data):
        self.transport.write(data)

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

endpoints.serverFromString(reactor, "tcp:1234").listen(EchoFactory())
reactor.run()

它还与 tkinter 事件循环很好地集成(参见 this 示例)。您应该能够合并这两个示例来创建您想要的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多