socketserver 入门练习
2024-10-21 02:47:23
个人理解:
个人感觉socketserver其实就是为服务端专门提供的一个用于解决多用户并发访问需求的一个模块
小试牛刀:
服务端socketserver_server.py
import socketserver
''' socketserver_server.py
要使用socketserver实现服务器端代码编写需遵循的三步:
.自己创建一个请求处理类,该类要继承BaseRequestHandler,且还要重写父类的handle()
.实例化TCPServer(UDPServer),并传递server ip和上边创建的请求处理类给这个TCPServer(UDPServer)
.调用实例的handle_request() or serve_forever()来分别处理一个请求或多个请求
'''
#请求处理类
class Mysocket(socketserver.BaseRequestHandler):
#重写父类的handle()
def handle(self):
while True:
try:
self.data = self.request.recv().strip()
print(self.data.decode())
data = '收到消息'.encode()
self.request.send(data)
except ConnectionResetError as e:
print('error occured:',e)
break
if __name__ == '__main__':
#指定服务器ip
Host,Port = 'localhost',
server = socketserver.TCPServer((Host,Port),Mysocket)
server.serve_forever()
客户端socketserver_client.py
import socket '''
socketserver_client.py
客户端和socket编程的客户端样,用到socket
'''
client = socket.socket()
client.connect(('localhost',))
while True:
mes = input(">>:").strip()
if len(mes) == :
continue
client.send(mes.encode())
respose_data = client.recv()
print(respose_data.decode())
最新文章
- C#-WinForm-布局-Anchor-锁定布局、Dock-填充布局、工具箱中的<;容器>;
- 斯坦福第十一课:机器学习系统的设计(Machine Learning System Design)
- MVC数据验证
- ucenter 显示通信成功的条件
- Combination Sum [LeetCode]
- Wilcoxon test
- CSS3属性box-shadow使用教程
- Roy Li的学习和成长自传
- 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- python的资料
- STL 源代码剖析 算法 stl_algo.h -- lower_bound
- 《zip命令》-linux命令五分钟系列之九
- 加载MSCOMCTL.OCX错误处理的几个关键
- wx模块小实例
- Redis分布式锁
- 201521123063 《Java程序设计》 第12周学习总结
- 【mongodb系统学习之八】mongodb shell常用操作
- 07--STL序列容器(Array)
- 注册Github过程
- BIO、NIO、AIO系列一:NIO
热门文章
- BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x&#39;,导致hold on 解决方案,
- Linux-用户和权限
- 51Nod - 1304 :字符串的相似度 (裸的扩展KMP)
- BZOJ_1044_[HAOI2008]木棍分割_二分答案+DP+单调队列
- groovy语言和grails框架
- JAVA 内部类 (一)
- Windows 下有什么软件能够极大地提高工作效率
- 【225】ArcEngine 实现要素添加 &; 删除
- 性能测试之Jmeter学习(四)
- 3-6局部变量的存储方式 &; 3-7字符型字面值