#-*- coding: UTF-8 -*-
from asyncore import dispatcher
from asynchat import async_chat
import asyncore, socket
PORT = 5005
NAME = 'TestChat'
class EndSession(Exception):pass
class CommandHandler:
"""
类似于标准库中cmd.Cmd的简单命令处理程序
"""
def unknown(self, session, cmd):
"""响应未知命令"""
session.push('Unknown command: %s\r\n' % cmd)
def handle(self, session, line):
"""处理从给定的会话中接收到的行"""
if not line.strip(): return
#分离命令:
parts = line.split(' ', 1)
cmd = parts[0]
try: line = parts[1].strip()
except IndexError: line = ''
#试着查找处理程序
meth = getattr(self, 'do_'+cmd, None)
try:
#假定它是可以调用的: