python之socketserver实现并发
2023-09-14 08:56:57 时间
python之socketserver实现并发
服务端
import socketserver #socketserver模块是用来实现并发 # 我们自己的类里一定要继承socketserver.BaseRequestHandler方法 # 里面需要一个handle方法 # 每当客户端来连接时,就会创建一个实例,实例与实例之间独立 # 实例包含 # self.request:conn 作用:服务端收发信息的对象 # self.client_address:addr 作用:客户端的ip地址 class Myserver(socketserver.BaseRequestHandler): def handle(self): print("conn is:"+str(self.request)) print("conn is:" + str(self.client_address)) #通讯循环 while True: #收信息 try: data = self.request.recv(1024).decode('utf-8') if data: print("客户端发过来的信息:" + data) # 发信息 self.request.sendall(data.upper().encode('utf-8')) except Exception as e: continue if __name__=="__main__": #链接循环 #这个方法需要两个参数,((ip,port),Myserver) s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),Myserver) #永远运行 s.serve_forever() #socketserver.ThreadingTCPServer()方法循环不端的接收新的连接 #handle()方法与客户端循环进行通讯
客户端
import socket def main(): ip_port = ('127.0.0.1', 8080) s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s2.connect(ip_port) # 连接服务端 while 1: data1 = input("-->").strip() if not data1:continue if data1 =='quit':break s2.sendall(data1.encode('utf8')) data2=s2.recv(1024) print(data2.decode("utf-8")) if __name__ == '__main__': main()
关于socketserver更多的介绍和使用,可以看一下这篇博文:
相关文章
- Python 完美诠释"高内聚"概念的 IO 流 API 体系结构设计
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- python编程是啥-Python编程「建议收藏」
- python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」
- unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme
- 决策树算法的应用python实现_python怎么画出决策树的分支
- lambda表达式python_Python中的Lambda表达式「建议收藏」
- python上的表白代码_用Python实现表白代码
- python制作自动交易程序_Python如何实现自动化交易
- python设置时间过期改变状态_Python Redis设置过期时间「建议收藏」
- Python脚本监测提醒
- Python爬虫:requests的headers该怎么填
- python-协程并发-多任务协程的实现方式(二)
- python-Python与MySQL数据库-使用Python执行MySQL查询
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(一)
- linux操作系统利用python实现任务管理器可视化功能
- Python数据库连接池DBUtils.PooledDB详解编程语言
- Python加密与解密详解编程语言
- Python结合MySQL实现信息交互(python与mysql交互)
- 安装Python MySQL驱动之快速指南(python安装mysql驱动)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)