博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之socketserver实现并发
阅读量:6113 次
发布时间:2019-06-21

本文共 1489 字,大约阅读时间需要 4 分钟。

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:                continueif __name__=="__main__":    #链接循环    #这个方法需要两个参数,((ip,port),Myserver)    s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),Myserver)    #永远运行    s.serve_forever()    #socketserver.ThreadingTCPServer()方法循环不端的接收新的连接    #handle()方法与客户端循环进行通讯

 

 

客户端

import socketdef 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更多的介绍和使用,可以看一下这篇博文:

转载于:https://www.cnblogs.com/-wenli/p/10707983.html

你可能感兴趣的文章
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>