- import SockServer
- class for request that extends BaseRequesthandler
- class for server that extend TCP/UDP Server
- If you needs, with Fork/Thread MixIn
import SocketServer
ECHO_PORT = 23456
CRLF = '\r\n'
class EchoRequestHandler(BaseRequestHandler):
def setup(self):
print "Client connected %s" % self.client_address
def handle(self):
while 1:
text = self.request.recv(1024)
if not text:
print "Closed by client"
break
if text[0:2] == ':q':
break
data_length = self.request.send(text)
print "recv : %s" % text.strip()
print "send : %s [%d]" % (text.strip(), data_length)
def finish(self):
print "finish"
class EchoServer(TCPServer):
def __init__(self, address, port, request_handler):
TCPServer.__init__(self, (address, port), request_handler)
if __name__ == '__main__':
echo = EchoServer("localhost", ECHO_PORT, EchoRequestHandler)
echo.serve_forever()