Python Twisted TCP/IP 连接

3

我有一个Linode账户,正在尝试使用telnet与安装在Ubuntu LTS的Linode中的基本TCP / IP服务器(Twisted中编写)进行通信:

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 <我的linode的ip> 5000就可以像在本地测试应用程序时使用telnet localhost <some port>一样与服务器发送和接收消息。您能否向我提供某种指南或参考资料来帮助我完成这项任务?我认为我需要在安装服务器应用程序的linode上配置一些内容。这很难吗?谢谢。

reactor.listenTCP(port, EchoFactory(), interface='<my linode 的 IP>') 不是有效的 Python 代码 - 在 linode 后面的引号必须进行转义。 - phihag
1
这似乎是一个Linode系统管理员的问题,而不是一个编程问题?也许它更适合于其他StackOverflow网站。 - Jean-Paul Calderone
2个回答

0

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


0

这段代码是正确的。也许你的问题在于防火墙,你可以通过连接到本地主机来测试这段代码。 telnet localhost 5000 另外,你能把 localhost 改成 0.0.0.0 吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接