from __future__ import generators
from twisted.flow import flow
from twisted.internet import protocol, reactor
PORT = 8392
print "client server"
print "------------------- ---------------------"
def echoServer(conn):
print " connected, now wait for client"
yield conn
print " client responded"
for data in conn:
print " received '%s', sending back" % data
conn.write(data)
print " waiting for client again"
yield conn
print " disconnected"
server = protocol.ServerFactory()
server.protocol = flow.makeProtocol(echoServer)
reactor.listenTCP(PORT,server)
def echoClient(conn):
print "connect and send"
conn.write("Hello World")
print "waiting for server"
yield conn
print "received '%s'" % conn.next()
print "sending more"
conn.write("Another Line")
print "waiting for server"
yield conn
print "received '%s'" % conn.next()
reactor.callLater(0,reactor.stop)
print "disconnecting"
client = protocol.ClientFactory()
client.protocol = flow.makeProtocol(echoClient)
reactor.connectTCP("localhost", PORT, client)
reactor.run()
syntax highlighted by Code2HTML, v. 0.9.1