多进程&多线程
服务端:多进程和多线程的开启方式相同。
缺点:<1> 由于Cpython的GIL,导致同一时间无法运行多个线程;<2> 不可能无限开进进程或线程
解决办法:多进程、concurrent.futures.ProcessPoolExecutor、线程池
import socket
from multiprocessing import Process
from threading import Thread
class MyTcpServer:
def __init__(self, ip, port):
self.ip = ip
self.port = port
self.server = socket.socket()
self.server.bind((self.ip, self.port))
self.server.listen(5)
def wait_accept(self):
conn, addr = self.server.accept()
return conn, addr
def handle_request(self, conn):
while 1:
try:
data = conn.recv(1024)
if not data: break
conn.send(data.upper())
except Exception as e:
print(e)
break
conn.close()
if __name__ == '__m
最后
以上就是虚心鸡最近收集整理的关于python实现异步socket_python 实现socket服务端并发的四种方式的全部内容,更多相关python实现异步socket_python内容请搜索靠谱客的其他文章。
发表评论 取消回复