Python Twisted TCP/IP 连接
我有一个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 <我的Linode的IP> 5000
就能和服务器发送和接收消息,就像我在本地测试应用时输入 telnet localhost <某个端口>
一样。你能给我推荐一些指南或参考资料,帮助我完成这个吗?我想我需要在安装了服务器应用的Linode上配置一些东西?这会很难吗?谢谢。
2 个回答
0
这段代码是对的。可能你遇到的问题是在防火墙上,你可以通过连接到本地来测试这段代码吗?可以试试这个命令:telnet localhost 5000
。另外,你能把地址改成0.0.0.0
吗?
0
我对linode不太熟悉,但我猜你需要在防火墙上打开5000端口,这样才能连接。你可以通过在你的linode实例的ssh会话中尝试相同的telnet命令来验证。如果从那里能成功连接,那肯定就是防火墙的问题。