【问题标题】:Python Twisted TCP/IP ConnectionPython 扭曲的 TCP/IP 连接
【发布时间】:2013-01-11 05:21:08
【问题描述】:

我有一个 Linode 帐户,我正在尝试使用 telnet 与用 Python (Twisted) 编写的基本 TCP/IP 服务器进行通信,该服务器安装在带有 ubuntu lts 的 linode 中:

import os
from twisted.internet import protocol, reactor

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

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

port = 5000
reactor.listenTCP(port, EchoFactory(), interface="<my linode's ip>")
reactor.run()

我以为我可以只做 telnet &lt;my linode's ip&gt; 5000 并能够从服务器发送和接收消息,就像我在本地使用 telnet localhost &lt;some port&gt; 测试应用程序时一样 您能否将我转发给某种指南或参考资料以帮助我完成此任务? 我认为我需要在安装服务器应用程序的 linode 上配置一些东西?很难吗?谢谢。

【问题讨论】:

  • reactor.listenTCP(port, EchoFactory(), interface='&lt;my linode's ip&gt;') 不是有效的 Python - linode 之后的引号必须被转义。
  • 这似乎是一个 linode 系统管理员问题,而不是一个编程问题?也许它更适合其他 stackoverflow 网站之一。

标签: python tcp twisted telnet linode


【解决方案1】:

这段代码是正确的。可能是您在防火墙中的问题,您可以通过连接到 localhost 来测试此代码吗? 远程登录本地主机 5000 还有,你能改成 0.0.0.0 吗?

【讨论】:

    【解决方案2】:

    我对linode不熟悉,但我猜你需要在防火墙上打开5000端口才能连接。您可以通过在 linode 实例上的 ssh 会话中尝试相同的 telnet 命令来验证这一点。如果它从那里工作,那肯定是防火墙。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      相关资源
      最近更新 更多