#!/usr/bin/python
import SocketServer
import time
class EchoServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
allow_reuse_address = 1 # Seems to make sense in testing environment
class EchoRequestHandler(SocketServer.StreamRequestHandler):
def handle_one_request(self):
raw_requestline = self.rfile.readline()
self.wfile.write(raw_requestline)
def handle(self):
"""Handle multiple requests if necessary."""
while True:
self.handle_one_request()
server = EchoServer(('127.0.0.1', 20000), EchoRequestHandler)
server.serve_forever()
2008年5月5日月曜日
echoをpythonで書く。その2
SockServerバージョン。なんかmix-inしているがうまく機能していない。mix-inの順番間違えていてsingle threadになっていた。しかしまだctrl-cが効かないし、loadも跳ね上がってしまう。(while loopのせい)
登録:
コメントの投稿 (Atom)
1 件のコメント:
daemon_threads = Trueを指定しましょう。
windowsでやる人はget_requestをselectをつかって書き直しましょう。
コメントを投稿