python实现单线程多任务非阻塞TCP服务端


Posted in Python onJune 13, 2017

本文实例为大家分享了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 相关文章推荐
python求crc32值的方法
Oct 05 Python
深入解析Python编程中super关键字的用法
Jun 24 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
Mar 11 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python截取两个单词之间的内容方法
Dec 25 Python
利用nohup来开启python文件的方法
Jan 14 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
python使用建议技巧分享(三)
Aug 18 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
Python实现双向链表基本操作
May 25 Python
Python实现的下载网页源码功能示例
Jun 13 #Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 #Python
老生常谈python之鸭子类和多态
Jun 13 #Python
浅谈scrapy 的基本命令介绍
Jun 13 #Python
python生成词云的实现方法(推荐)
Jun 13 #Python
Python实现Linux中的du命令
Jun 12 #Python
python正则表达式的使用
Jun 12 #Python
You might like
php实现水仙花数的4个示例分享
2014/04/08 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
JS定时器实例
2013/04/17 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
python压包的概念及实例详解
2021/02/17 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
酒店营销策划方案
2014/02/07 职场文书
小学教师国培感言
2014/02/08 职场文书
应用数学专业求职信
2014/03/14 职场文书
捐资助学倡议书
2014/04/15 职场文书
走群众路线剖析材料
2014/10/09 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
MySQL约束超详解
2021/09/04 MySQL
讲解Python实例练习逆序输出字符串
2022/05/06 Python
图神经网络GNN算法
2022/05/11 Python
Mysql中mvcc各场景理解应用
2022/08/05 MySQL