Heroku与Twisted
我正在学习Twisted,这是一个Python框架。我想把一个简单的应用程序放到网上,这个应用程序收到消息后会把它发回去。我决定使用Heroku来托管这个应用,并且我按照他们的文档进行了操作。
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 = int(os.environ.get('PORT', 5000))
reactor.listenTCP(port, EchoFactory(), interface = '0.0.0.0')
reactor.run()
现在一切都正常,除了(我知道这个问题可能有点傻),我该怎么给它发送消息呢?在本地工作时,我只需要用 telnet localhost <port>
就可以了,但现在我不知道该怎么做。还有,由于Heroku会连接到一个随机端口,我怎么知道我的应用连接到了哪个端口呢?谢谢。
2 个回答
0
“纯Python应用程序,比如那些没有界面的后台进程和像Twisted这样的事件驱动网络框架,在Cedar上是完全支持的。”
3
我对Twisted不是很熟悉,但我不太确定你想做的事情在Heroku上是否支持。Heroku目前只支持HTTP[S]请求,而不支持原始的TCP连接。关于这方面有更多的细节,可以查看这个问题的回答。
如果你想连接到你的应用程序,应该使用 myapp.herokuapp.com
这个主机名,或者你添加的任何自定义域名。