IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]python手记-twisted(3)

    u010255642发表于 2016-07-08 18:48:12
    love 0
    from twisted.internet.protocol import Protocol
    from twisted.internet import reactor
    from twisted.internet.protocol import Factory
    from twisted.internet.endpoints import TCP4ServerEndpoint
    
    class Echo(Protocol):
           
         def __init__(self,factory):
             self.factory=factory
    
         def connectionMade(self):
             self.factory.numProtocols=self.factory.numProtocols+1
             self.transport.write("welcome!\nthere are currently %d open connections.\n"%(self.factory.numProtocols,))
    
         def dataReceived(self,data):
             mydata=data.strip()
    	 if mydata!="quit" and  mydata!="quit\r\n" and mydata!="quit\r": 
                  self.transport.write(data)
             else:
                  self.transport.write("byebye\n")
                  self.transport.numProtocols=self.factory.numProtocols-1
                  self.transport.loseConnection()
         def connectionLost(self, reason):
             self.factory.numProtocols = self.factory.numProtocols - 1
    
    class EchoFactory(Factory):
         numProtocols=0
         def __init__(self):
             self.myfactory=self
         def buildProtocol(self,addr):
             return Echo(self.myfactory)    
    
    endpoint=TCP4ServerEndpoint(reactor,8001)
    endpoint.listen(EchoFactory())
    reactor.run()


    输入quit退出连接,统计连接数量。

     




沪ICP备19023445号-2号
友情链接