python之多线程socket服务实现
2018-03-09 16:44
267 查看
Listen & Read服务(多线程模型响应请求)(转载)
import threading import socket import time encoding = 'utf-8' BUFSIZE = 1024 # a read thread, read data from remote class Reader(threading.Thread): def __init__(self, client): threading.Thread.__init__(self) self.client = client def run(self): while True: data = self.client.recv(BUFSIZE) if(data): string = bytes.decode(data, encoding) print "from client::",string,"" self.client.send("return frome server::" + string) else: break print "close:", self.client.getpeername() def readline(self): rec = self.inputs.readline() if rec: string = bytes.decode(rec, encoding) if len(string)>2: string = string[0:-2] else: string = ' ' else: string = False return string # a listen thread, listen remote connect # when a remote machine request to connect, it will create a read thread to handle class Listener(threading.Thread): def __init__(self, port): threading.Thread.__init__(self) self.port = port self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind(("0.0.0.0", port)) self.sock.listen(0) def run(self): print "listener started" while True: client, cltadd = self.sock.accept() print "accept a connect..." Reader(client).start() cltadd = cltadd print "accept a connect(new reader..)" lst = Listener(9011) # create a listen thread lst.start() # then start # Now, you can use telnet to test it, the command is "telnet 127.0.0.1 9011" # You also can use web broswer to test, input the address of "http://127.0.0.1:9011" and press Enter button # Enjoy it....
相关文章推荐
- python之多线程socket服务实现
- Python使用TCPServer编写(多线程)Socket服务
- Python使用TCPServer编写(多线程)Socket服务
- python实现探测socket和web服务示例
- Python使用TCPServer编写(多线程)Socket服务
- Python使用TCPServer编写(多线程)Socket服务
- python之socket实现简单的Each服务
- Python3 socket编程,并与多线程实现最简单的聊天工具之一
- Python使用TCPServer编写(多线程)Socket服务
- 使用Python SocketServer快速实现多线程网络服务器
- 简单实现python socket 服务器客户端
- 使用python socket多线程实现大文件分发
- python 用socket模块实现检测端口和检测web服务
- python实现探测socket和web服务示例
- Python3 socket编程,并与多线程实现最简单的聊天工具之一
- python实现select和epoll模型socket网络编程 推荐
- Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
- python实现多线程抓取知乎用户
- nginx tomcat集群配置实现无痛重启服务教程python语言版本
- pthread + socket 实现多线程多客户端群聊服务器(简易)