您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

python连接池实现示例程序

2024/3/3 17:31:02发布23次查看
复制代码 代码如下:
import socket
import queue
import threadingdef worker():
    while true:
        i = q.get()
        conn=i[0]
        addr=i[1]
        while 1:
            sms=conn.recv(1024)
            if sms!=:
                print message from (+str(addr[0])+:+str(addr[1])+): +sms
            else:
                print close the connection from (+str(addr[0])+:+str(addr[1])+)
                conn.close()
                break
        q.task_done()
if __name__==__main__:
    q = queue.queue()
    thread_num=5000
s=socket.socket(socket.af_inet,socket.sock_stream)
    s.setsockopt(socket.sol_socket,socket.so_reuseaddr,1)
    s.bind((,4242))
    s.listen(50000)
    print server is listening at 4242
for _ in range(0,thread_num):
        t=threading.thread(target=worker)
        t.setdaemon(1)
        t.start()
while 1:
        conn,addr=s.accept()
        print connection come from (+str(addr[0])+:+str(addr[1])+)
        q.put((conn,addr))
q.join()
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product