Echo Server Using Tornado

這幾天在看Tornado的source code,有一些體會,自己動手寫了一個基於tornado tcpserver的echoserver

#!/usr/bin/env python

from tornado.netutil import TCPServer
from tornado.ioloop  import IOLoop

class ECHOConnection(object):
    def __init__(self, stream):
        self._stream = stream
        self.read()
    
    def read(self):
        self._stream.read_until('\r\n', self.echo_callback)
    
    def echo_callback(self, data):
        print "data:", data
        self._stream.write(data)
        self.read()

class ECHOServer(TCPServer):
    def handle_stream(self, stream, address):
        print "echo connecting..."
        ECHOConnection(stream)

if __name__ == '__main__':
    print "begin..."
    server = ECHOServer()
    server.listen(8000)
    IOLoop.instance().start()    


你可能感兴趣的:(Echo Server Using Tornado)