自動接続サーバ

2100 ワード



# -*- coding:cp936 -*-
#!/usr/bin/env python
"""
          
startConnecting        
buildProtocol        ,  Protocol
clientConnectionLost        
clientConnectionFailed        
        ,        ;      
         ,      ;
"""

from twisted.internet.protocol import Protocol
from twisted.internet.protocol import ClientFactory
from twisted.internet.protocol import ReconnectingClientFactory
from twisted.internet import reactor

class EchoClient(Protocol):
    #            
    def connectionMade(self):
        for i in range(1,100):
            print 'send---',i
            self.transport.write("%s
"%i)     #     def dataReceived(self, data):         print "Received---", data     # #     # def connectionLost(self,reason):     #     print "connection lost",reason class EchoClientFactory(ClientFactory):     def startedConnecting(self,connector):         print("Start to connect")     def buildProtocol(self,addr):         print("build protocol")         return EchoClient()     def clientConnectionLost(self,connector,reason):         print("client connection lost" + str(reason))         #  ,         ReconnectingClientFactory.clientConnectionLost(self,connector,reason)     def clientConnectionFailed(self,connector,reason):         print("client connection failed:" + str(reason))         #  ,         ReconnectingClientFactory.clientConnectionFailed(self,connector,reason) reactor.connectTCP("localhost",8001,EchoClientFactory()) reactor.run() # from twisted.internet.protocol import Protocol,Factory from twisted.internet import reactor class Echo(Protocol):     def dataReceived(self, data):         # As soon as any data is received, write it back         print self.transport.client         print data         self.transport.write(data)         print '----------' class EchoFactory(Factory):     def buildProtocol(self, addr):         return Echo() reactor.listenTCP(8001, EchoFactory()) reactor.run()