I am new for Twisted web server and Heroku.
I want to use Twisted web server on Heroku
I use the client code like this
from twisted.internet import protocol, reactor
import os
class Knock(protocol.Protocol):
def dataReceived(self, data):
print 'Client:', data
if data.startswith("Hey, Heroku!"):
response = "Hi, please wait..."
self.transport.write(response)
else:
response = "I don't know who you are!"
self.transport.write(response)
class KnockFactory(protocol.Factory):
def buildProtocol(self, addr):
return Knock()
reactor.listenTCP(5000, KnockFactory())
reactor.run()
How can I do to connect server on Heroku?
update 2017/3/19
I use the example to modify from Python and Django on Heroku
I set port:5000 in my code but the port returned is random from openning the app.
I still can't connect the server on Heroku. :(
app.py
import os
from flask import Flask
from twisted.internet import protocol, reactor
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from Python Twisted ! Heroku server started on port: %s" % port
class Knock(protocol.Protocol):
def dataReceived(self, data):
return "Client:", data
if data.startswith("Hey, Heroku!"):
response = "Hi, please wait..."
self.transport.write(response)
else:
response = "I don't know who you are!"
self.transport.write(response)
class KnockFactory(protocol.Factory):
def buildProtocol(self, addr):
return Knock()
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(host='0.0.0.0', port=port)
reactor.listenTCP(port, KnockFactory())
reactor.run()