"Disclaimer: Copyright, welcome reprint, please do not use for commercial purposes. Contact mailbox: feixiaoxing @163.com "
Python's twisted is more interesting, both in terms of server programming, but also to do client-side programming. The simplest example of this programming is echo.
The client code is as follows
#!/usr/bin/pythonfrom twisted.internet.protocol Import Protocol, clientfactoryfrom sys import Stdoutfrom Twisted.internet Import Reactorclass Echo (Protocol):d ef datareceived (Self, data): Stdout.write (Data) class Echoclientfactory (clientfactory):d ef startedconnecting (self, connector):p rint ' Started to connect. ' def buildprotocol (self, addr):p rint ' Connected. ' Return Echo () def clientconnectionlost (self, connector, reason):p rint ' Lost connection. Reason: ', Reasondef clientconnectionfailed (self, connector, Reason):p rint ' Connection failed. Reason: ', reasonif __name__ = = ' __main__ ': reactor.connecttcp (' localhost ', 1234, echoclientfactory ()) Reactor.run ()
Servercode as follows,
#!/usr/bin/pythonfrom twisted.internet.protocol Import Protocol, clientfactoryfrom sys import Stdoutfrom Twisted.internet Import Reactorclass Echo (Protocol):d ef datareceived (Self, data): Stdout.write (Data) class Echoclientfactory (clientfactory):d ef startedconnecting (self, connector):p rint ' Started to connect. ' def buildprotocol (self, addr):p rint ' Connected. ' Return Echo () def clientconnectionlost (self, connector, reason):p rint ' Lost connection. Reason: ', Reasondef clientconnectionfailed (self, connector, Reason):p rint ' Connection failed. Reason: ', reasonif __name__ = = ' __main__ ': reactor.connecttcp (' localhost ', 1234, echoclientfactory ()) Reactor.run ()
Python Network programming (twisted-based client programming)