先看服务端的代码
import sys # import socket import time import gevent from gevent import socket from gevent import monkey monkey.patch_all() #类似于python中的黑魔法,把很多模块的阻塞的变成非阻塞的,比如socket中的rece和send都变 # 为不阻塞了 def server(port): s = socket.socket() s.bind(("127.0.0.1",port)) s.listen(2000) while True: cli,add = s.accept() gevent.spawn(handle_request,cli) #通过gevent的启动一个协程,把客户端的socket对象传进去 def handle_request(s): try: while True: data = s.recv(1024) print("收到的信息:",str(data,encoding="utf-8")) s.send(data) if not data: s.shutdown(socket.SHUT_WR) #把和客户端这个链接销毁 except Exception as ex: print(ex) finally: s.close() if __name__ == '__main__': server(8000)
在看客户端的代码,分别使用多线程和多进程实现
import socket import gevent import threading import multiprocessing ''' ip_bind = ("127.0.0.1",8000) c = socket.socket() c.connect(ip_bind) while True: data = input("客户端:") c.send(bytes(data,encoding="utf-8")) data = c.recv(1024) print("服务端:",str(data,encoding="utf-8")) c.close() ''' import socket import gevent ip_bind = ("127.0.0.1",8000) c = socket.socket() c.connect(ip_bind) def f(n): while True: # c.send(bytes(n,encoding="utf-8")) data = str(n) c.send(bytes(data,encoding="utf-8")) data = c.recv(1024) print("server:",str(data,encoding="utf-8")) c.close() x = [] if __name__ == '__main__': l = [] """ 多线程实现并发客户端 for i in range(500): t = threading.Thread(target=f,args=[str(i),]) t.start() l.append(t) for t in l: t.join() """ # 多进程实现并发客户端 for i in range(100): p = multiprocessing.Process(target=f,args=[i,]) p.start() l.append(p) for p in l: p.join()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“python单线程下实现多个socket并发过程详解”评论...
更新日志
2025年01月10日
2025年01月10日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]