python实现单线程多任务非阻塞TCP服务端
作者:Vathe 时间:2021-05-29 07:26:52
本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下
# coding:utf-8
from socket import *
# 1.创建服务器socket
sock = socket(AF_INET, SOCK_STREAM)
# 2.绑定主机和端口
addr = ('', 7788) #
sock.bind(addr)
# 3. 设置最大监听数目,并发
sock.listen(10)
# 4. 设置成非阻塞
sock.setblocking(False)
# 保存客户端socket
clientAddrList = []
# print(sock.)
while 1:
try:
clientSocket, clientAddr = sock.accept()
except:
pass
else:
print("一个新客户端到来:%s" % str(clientAddr))
clientSocket.setblocking(False)
clientAddrList.append((clientSocket, clientAddr))
for clientSocket, clientAddr in clientAddrList:
try:
recvData = clientSocket.recv(1024)
except:
pass
else:
if len(recvData) > 0:
print("%s:%s" % (str(clientAddr), recvData))
else:
clientSocket.close()
clientAddrList.remove((clientSocket, clientAddr))
print("%s 已经下线" % str(clientAddr))
标签:python,单线程,TCP,服务端
0
投稿
猜你喜欢
Python利用pywin32实现自动操作电脑
2024-01-03 03:35:59
python使用KNN算法手写体识别
2022-06-28 05:30:56
Python minidom模块用法示例【DOM写入和解析XML】
2021-04-22 23:28:19
Pytorch中.new()的作用详解
2023-12-11 10:28:54
python产生模拟数据faker库的使用详解
2022-05-25 22:43:35
整理及优化CSS代码的七个原则[译]
2009-04-23 12:35:00
Gorm更新零值问题解决思路与过程
2024-04-25 13:18:25
java代码实现mysql分表操作(用户行为记录)
2024-01-17 22:57:09
Python编写带选项的命令行程序方法
2023-11-18 20:47:35
Go语言指针用法详解
2023-08-05 17:06:36
Python操作多维数组输出和矩阵运算示例
2022-11-30 03:44:18
Python爬取梨视频的示例
2022-05-24 08:12:33
Pycharm之快速定位到某行快捷键的方法
2022-06-20 14:07:53
Python数据结构与算法之算法分析详解
2022-05-15 19:03:46
Python操作MySQL模拟银行转账
2022-05-19 21:23:11
Vue.js框架实现购物车功能
2024-04-30 10:46:59
Python简单基础小程序的实例代码
2021-03-29 21:17:59
使用Python matplotlib绘制简单的柱形图、折线图和直线图
2022-04-08 02:13:19
python3使用pandas获取股票数据的方法
2023-01-04 15:01:15
解决python3读取Python2存储的pickle文件问题
2023-03-18 14:20:30