|
先看代码:
- #-*- coding:utf-8 -*-
- from SocketServer import ThreadingTCPServer, StreamRequestHandler
- import traceback
- class MyStreamRequestHandlerr(StreamRequestHandler):
- def handle(self):
- while True:
- try:
- data = self.rfile.readline().strip()
- if len(data) == 0:
- break
- print "receive from (%r):%r" % (self.client_address, data)
- self.wfile.write(data.upper())
- except:
- print "Time out!"
- break
-
- if __name__ == "__main__":
- host = ""
- port = 9999 #端口
- addr = (host, port)
- server = ThreadingTCPServer(addr, MyStreamRequestHandlerr)
- server.serve_forever()
复制代码 ------------------------------------------------------------
在服务器监听端口多线程程序当中,通常是重写:BaseRequestHandler类的handle方法。
BaseRequestHandler类如下:
- class BaseRequestHandler:
- def __init__(self, request, client_address, server):
- self.request = request
- self.client_address = client_address
- self.server = server
- self.setup()
- try:
- self.handle()
- finally:
- self.finish()
- def setup(self):
- pass
- def handle(self):
- pass
- def finish(self):
- pass
复制代码 问题:
我要如何重写这个类,可以将我想要的一个参数传递到handle这个方法当中去呢?
即当有客户端连接进来时,会进入到handle这个循环当中处理数据,而我想将一个参数传输到handle当中去。
望高手指点一下。
|
|