#功能添加
上文算是个功能完善的聊天服务器, 但是拓展功能有限. 而且不能解释命令, 因此需要增加对与身份和命令解释的支持, 而且还要确保按照每个会话的状态采取适当的行为.
###基础命令解释
比如, 输入say, hello world
, 程序应当执行do_say("hello world")
.
class CommandHandler:
def unkown(self, session, cmd):
session.push("unkown commad %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:
meth(session, line)
except TypeError:
self.unkown(session, cmd)
Recent Comments