SocketServer包对socket包进行了包装(封装),使得创建socket服务非常简单。
TCPServer+BaseRequestHandler
使用TCPServer和BaseRequestHandler编写socket服务的样例。
#-*- coding:utf-8 -*-
from SocketServer import TCPServer, BaseRequestHandler
import traceback
class MyBaseRequestHandlerr(BaseRequestHandler):
"""
#从BaseRequestHandler继承,并重写handle方法
"""
def handle(self):
#循环监听(读取)来自客户端的数据
while True:
#当客户端主动断开连接时,self.recv(1024)会抛出异常
try:
#一次读取1024字节,并去除两端的空白字符(包括空格,TAB,\r,\n)
data = self.request.recv(1024).strip()
#self.client_add