python实现单线程多任务非阻塞TCP服务端
作者:Vathe 发布时间:2021-05-29 07:26:52
标签:python,单线程,TCP,服务端
本文实例为大家分享了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))


猜你喜欢
- 背景在校园里认证上网很麻烦需要web输入账号密码有时还会忘记web地址此时就需要一个人或者程序帮我们实现,这时我想到用python制作这个程
- 1. 笛卡尔乘积表1有m行数据,表2有n行数据,查询结果有m*n行数据。2. 分类(1)按年代分类sql92标准:仅支持内连接sql99标准
- 1、执行环境说明python版本3.7直接使用pip进行安装pywin32、pyinstallerpip install pywin32pi
- getatter()通过方法名字符串调用方法,这个方法最主要的作用就是实现反射机制,也就是说可以通过字符串获取方法实例,这样就可以把一个类可
- 本文实例为大家分享了OpenCV实现相机标定的具体代码,供大家参考,具体内容如下一、相机与 * 相机模型1.相机模型现代科技加持下的相机已经成
- Django将秒转换为xx天xx时xx分,具体代码如下所示:from django.utils.translation import nge
- Python 文件操作的详解及实例一、文件操作1、对文件操作流程打开文件,得到文件句柄并赋值给一个变量通过句柄对文件进行操作关闭文件现有文件
- create database MyDb on ( name=mainDb, filename='c:\MyDb\mainDb.md
- IDA插件是经过编译的、功能更强大的IDC脚本,与仅仅使用脚本相比,插件能够执行更加复杂的任务。与编写IDC脚本相比,python显得更为轻
- 一、为什么使用Python进行网络爬虫?由于Python语言十分简洁,使用起来又非常简单、易学,通过Python 进行编写就像使用英语进行写
- 而标准的事件触发可以使用dispatchEvent方法。但现在FF5无法触发了A的默认行为了。如下 <!doctype html>
- 记录一下PHP连接MySQL的两种方式。先mock一下数据,可以执行一下sql。/*创建数据库*/CREATE DATABASE IF NO
- 前言Cookie和Session相信对大家来说并不陌生,简单来说,Cookie和Session都是为了记录用户相关信息的方式,最大的区别就是
- 相对于C语言,golang是类型安全的语言。但是安全的代价就是性能的妥协。下面我们看看Golang不想让我们看到的“秘密”——string的
- 以控制抖音app滑动并获取抖音短视频发布者昵称和点赞数等信息为例:1. 安装appium-python-client模块并启动已安装好的环境
- 用Python画一个平面的太阳系得到一些朋友的欣赏,然后有同学提出了绘制三维太阳系的要求。从Python画图的角度来说,三维太阳系其实并不难
- 生成HTML方法主要步骤只有两个:一、获取要生成的html文件的内容二、将获取的html文件内容保存为html文件我在这里主要说明的只是第一
- OpenCV 是一个流行的开源计算机视觉库,可用于不同的编程语言,例如 Python、C++ 和 JavaScript。它提供了一套丰富的工
- 本文主要讲python支持zookeeper的接口库安装和使用。zk的python接口库有zkpython,还有kazoo,下面是zkpyt
- 在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread