Python thread socket server
2009-03-08 17:30
453 查看
从网上参考了一些代码,实现了一个Python实现的基于线程的socket server, 用来实现各种服务系统的原型。放在这里供以后参考。
#!/usr/bin/env python import threading import SocketServer users = [] class MyTCPHandler(SocketServer.StreamRequestHandler): def handle(self): username = None while True: self.data = self.rfile.readline().strip() cur_thread = threading.currentThread() print "RECV from ", self.client_address[0] cmd = self.data if cmd == None or len(cmd) == 0: break; print cmd # business logic here try: if cmd.startswith('echo'): result = cmd[5:] elif cmd.startswith('login'): username = cmd[6:] users.append({username:self.wfile}) result = username + ' logined.' elif cmd == 'quit': break else: result = 'error cmd' self.wfile.write(result) self.wfile.write('\n') except: print 'error' break try: if username != None: users.remove(username) except: pass print username, ' closed.' class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): pass if __name__ == "__main__": HOST, PORT = "localhost", 9999 server = ThreadedTCPServer((HOST, PORT), MyTCPHandler) server_thread = threading.Thread(target=server.serve_forever) server_thread.setDaemon(True) server_thread.start() server.serve_forever()
相关文章推荐
- Python thread socket server
- python基础之socket与socketserver
- Python的Socket知识3:socketserver实现多并发、文件上传下载
- python中的socketserver
- 利用Python中SocketServer 实现客户端与服务器间非阻塞通信
- Python SocketServer源码分析
- Python自动化之socketserver模块
- Python之socketserver源码分析
- Pyhton:Python3的Socket例子示例(包括Server和Client)
- python中实现一个socket和server的程序
- python网络编程socketserver
- python基础-socketserver(tcp\udp)、selectors模块
- Python模块解析之SocketServer(一)_模块简介
- python SocketServer 框架编程
- Python 深入剖析SocketServer模块(二)(V2.7.11)
- python-基于UDP通信的套接字,socketserver模块的使用
- 利用Python的SocketServer框架编写网络服务程序
- 解读python中SocketServer源码
- python multiprocessing socket server example
- Python Socket Client及Server简单编程