我使用 Twisted 创建了一个具有自定义协议的服务器,并且我有客户端连接到特定端口(例如端口 1234)上的服务器。我正在寻找基于某种网页的服务器控制界面。到目前为止,我的研究表明 Nevow 是流行的选择,但我只需要一些非常简单的东西。
例如,每次浏览器访问端口 8080 上的 hello world 页面时,我都会向连接在 1234 上的客户端发送一条消息。
我对如何将这两个连接在一起有点困惑。我假设我需要从 HelloResource.render_GET 调用 Server.message ?
from twisted.internet import protocol, reactor
from twisted.web.resource import Resource
class Server(protocol.Protocol):
def dataReceived(self, data):
#do something on the server side
def message(self)
#send message to clients
class HelloResource(Resource):
isLeaf = True
def render_GET(self,request):
return "<html>Hello, world!</html>"
factory = protocol.Factory()
factory.protocol = Server
reactor.listenTCP(1234, factory)
reactor.listenTCP(8080, server.Site(HelloResource()))
reactor.run()