我有一个Linode帐户,我正在尝试使用telnet与用Python编写的基本TCP / IP服务器(Twisted)进行通信,安装在带有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 <my linode's ip> 5000
并能够从服务器发送和接收消息,就像我在本地使用telnet localhost <some port>
测试应用时一样
你能否请我转发某种指导或参考来帮助我实现这个目标?
我想我需要在安装服务器应用程序的linode上配置一些东西?这很难吗?感谢。
答案 0 :(得分:0)
我不熟悉linode,但我的猜测是你需要在防火墙上打开端口5000才能连接。您可以通过在linode实例上的ssh会话中尝试相同的telnet命令来验证这一点。如果它从那里起作用肯定是防火墙。
答案 1 :(得分:0)
此代码是正确的。可能是您在防火墙中的问题,您可以通过连接到localhost来测试此代码吗? telnet localhost 5000 而且,你能改为0.0.0.0吗?