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()    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章