python - 如何编写一个同时也是客户端的扭曲服务器?

标签 python twisted

如何创建同时也是客户端的扭曲服务器? 我希望 react 堆能够监听,同时它也可以用于连接到同样可以连接和监听的同一个服务器实例。

最佳答案

调用reactor.listenTCPreactor.connectTCP。您可以根据需要拥有任意数量的不同类型的连接 - 服务器或客户端。

例如:

from twisted.internet import protocol, reactor
from twisted.protocols import basic

class SomeServerProtocol(basic.LineReceiver):
    def lineReceived(self, line):
        host, port = line.split()
        port = int(port)
        factory = protocol.ClientFactory()
        factory.protocol = SomeClientProtocol
        reactor.connectTCP(host, port, factory)

class SomeClientProtocol(basic.LineReceiver):
    def connectionMade(self):
        self.sendLine("Hello!")
        self.transport.loseConnection()

def main():
    import sys
    from twisted.python import log

    log.startLogging(sys.stdout)
    factory = protocol.ServerFactory()
    factory.protocol = SomeServerProtocol
    reactor.listenTCP(12345, factory)
    reactor.run()

if __name__ == '__main__':
    main()

关于python - 如何编写一个同时也是客户端的扭曲服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275004/

相关文章:

python - 比较两个数据框中的列名pyspark

python - 使用 Twisted Python 的多个通信 channel

python - 扭曲协议(protocol)行为的高级测试

python - 如何为我的数据集创建类似直方图的条形图?

python 扭曲的 HTTP 代理

python - 如何在Twisted中使用Jinja?

python - 编写优秀的 Twisted 网络资源

Python:functools.partial 返回错误

python - 如何在 matplotlib 中为自定义图例添加阴影线?

python - Mechanize 可以通过javascript支持ajax/填写表格吗?