多个客户端的扭曲服务器

And*_*say 10 python twisted

我想编写一个可以接受python(twisted)中的多个客户端的服务器.我已经非常熟悉使用标准python套接字模块的套接字编程,但是这里遇到了麻烦.我认为扭曲很难进入,我已经阅读了一些有关它的教程.但我真的找不到的是一个接受多个连接的简单套接字服务器..任何人都可以帮忙吗?如果我在网上错过了一些有价值的信息,请告诉我,因为我正在拉我的头发..

任何帮助深表感谢,

Andesay

Tom*_*mmy 12

比如,您想运行服务器接受端口9000上的客户端连接:

from twisted.internet import reactor, protocol

PORT = 9000

class MyServer(protocol.Protocol):
    pass

class MyServerFactory(protocol.Factory):
    protocol = MyServer

factory = MyServerFactory()
reactor.listenTCP(PORT, factory)
reactor.run()
Run Code Online (Sandbox Code Playgroud)

如果你想测试连接到这个服务器,这里是客户端的代码(在不同的终端中启动):

from twisted.internet import reactor, protocol

HOST = 'localhost'
PORT = 9000

class MyClient(protocol.Protocol):
    def connectionMade(self):
        print "connected!"

class MyClientFactory(protocol.ClientFactory):
    protocol = MyClient

factory = MyClientFactory()
reactor.connectTCP(HOST, PORT, factory)

reactor.run()
Run Code Online (Sandbox Code Playgroud)

您会注意到代码非常相似,只有我们为服务器使用Factory而客户端使用ClientFactory,服务器需要在客户端需要连接时监听(listenTCP)(connectTCP).祝好运!


Sen*_*ran 7

我想,你没有得到扭曲的本质.如果您创建一个扭曲的套接字服务器,它默认可通过多个客户端连接.我会按顺序建议以下教程,然后阅读扭曲的文档.编写这些教程中给出的小片段,以了解实际发生的情况.

  1. 戴夫佩蒂科拉的扭曲教程
  2. Itamar Shtull-Trauring的扭曲演示