asucsrv.py

来自「python web programming 部分」· Python 代码 · 共 43 行

PY
43
字号
import asyncore, asynchat, socket, sys

class uc_server(asyncore.dispatcher):

    def __init__(self, host, port):
        asyncore.dispatcher.__init__(self)
        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
        self.bind((host, port))
        self.listen(5)

    def handle_accept(self):
        uc_handler(self, self.accept())

class uc_handler(asynchat.async_chat):

    def __init__(self, server, (conn, addr)):
        print "Connection from", addr
        sys.stdout.flush()
        self.addr = addr
        self.server = server
        self.buffer = ''
        self.outbuffer = ''
        asynchat.async_chat.__init__(self, conn)
        self.set_terminator('\n')

    def collect_incoming_data(self, data):
        self.buffer += data.replace('\r', '')

    def found_terminator(self):
        data = self.buffer.upper()
        if data == '':
            print "Disconnect:", self.addr
            sys.stdout.flush()
            self.close()
            return
        self.buffer = ''
        self.push(data + '\r\n')

server = uc_server('', 9999)

asyncore.loop()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?