我试图实现一个非阻塞的pythonudp服务器,它监听多个端口。在

我在这个Stackover posting中找到了一些代码,并将其修改为监听多个套接字,到目前为止,非常好。在

我的代码如下。在#!/usr/bin/python

import select

import socket

ports_list=[7777,7778]

def make_socket(number):

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

sock.bind(('', number))

sock.listen(5)

return sock

read_list= map(lambda x: make_socket(x), ports_list)

print(read_list)

print "Listening on port %s" % ports_list

while True:

readable, writable, errored = select.select(read_list, [], [])

for s in readable:

if s in read_list:

client_socket, address = s.accept()

read_list.append(client_socket)

print "Connection from", address

else:

data = s.recv(1024)

if data:

s.send(data)

else:

s.close()

read_list.remove(s)

我在另一个控制台上运行netcat来测试它

^{pr2}$

但它会发臭,就像这样:/udp_non_blocking_listener.py

[, ]

Listening on port [7777, 7778]

Connection from ('127.0.0.1', 41237)

Traceback (most recent call last):

File "./udp_non_blocking_listener.py", line 27, in

client_socket, address = s.accept()

File "/usr/lib/python2.7/socket.py", line 202, in accept

sock, addr = self._sock.accept()

socket.error: [Errno 22] Invalid argument

我刚刚开始使用python非阻塞API,这样做的惯用方法是什么?在

python监听多个udp端口_尝试实现非阻塞python-udp多端口获取wierd异常相关推荐

  1. java 获取端口号错误_尝试访问SPYDER中的pyspark时,获取错误“异常:Java网关进程在向驱动程序发送其端口号之前已退出”...

    我想通过Spyder运行Pypark 这是完整的错误:Traceback (most recent call last): File "", line 1, in sc = Spa ...

  2. python监听鼠标事件_Python中使用PyHook监听鼠标和键盘事件实例

    Python 中使用 PyHook 监听鼠标和键盘事件实例 PyHook 是一个基于 Python 的"钩子"库,主要用于监 听当前电脑上鼠标和键盘的事件.这个库依赖于另一个 Py ...

  3. 【做一下1】python 监听数据库变化

    前言 用的yolov5,作者自己写的loadStream函数就是依据 streams.txt里面的rtsp流地址列表来新建线程,然后实现多路监控的. 大体就是这个图里面说的,我已经是为了个整体业务,去 ...

  4. UDP socket 设置为的非阻塞模式

    UDP socket 设置为的非阻塞模式  Len = recvfrom(SocketFD, szRecvBuf, sizeof(szRecvBuf), MSG_DONTWAIT, (struct s ...

  5. python监听多个udp端口_用Python写一个UDP端口测试工具(一)

    需求 最近有个运维需求,需要测试客户端的UDP端口与服务器的连通性. 需求也很简单:客户端测往服务端发UDP包,服务端收到包后响应客户端,当客户端能收到服务端的响应则可断定端口是可达的.但是客户端需要 ...

  6. python监听多个udp端口_Python的Socket编程过程中实现UDP端口复用的实例分享

    关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络 ...

  7. python监听udp端口,Python和UDP监听

    我有一个应用程序,软件定义无线电,在一个端口上广播UDP数据包,告诉听众已经设置了什么频率和解调模式(等等). 我编写了一个演示python客户端(下面的代码)来监听端口,并将相应数据包中的信息转储到 ...

  8. python 监听tcp端口_创建TCP监听_创建TCP监听_功能示例_Python SDK示例_SDK 参考_开发指南_负载均衡 - 阿里云...

    # encoding=utf-8 import json import sys # 调用AcsClient参数进行身份验证 from aliyunsdkcore.client import AcsCl ...

  9. python监听文件更改记录_如何用机器人监听老板微信?

    随着微信社交的兴起,我们加入的群也越来越多,一个不经意就被拉入好几个群,群是大家协同交流的平台,但是微信群却越来越泛滥,不知道大家有没有统计过自己浪费在毫无营养的群中的时间? 因为群质量或者群太吵的 ...

最新文章

  1. QT项目添加现有文件后不能运行,MFC在类视图中自动隐藏类
  2. GridView列表数据的添加
  3. stl set求交集 并集 差集
  4. 阿里巴巴发布首个知识引擎研究计划,联合清华浙大等五大高校攻坚AI推理
  5. QPainter函数setClipRect
  6. 定时器 槽函数没执行_Web服务器项目详解 07 定时器处理非活动连接(上)
  7. 手机html left 50%,left-​50%是什么意思
  8. 【TensorFlow】——Windows10、pycharm、Python3.6.4中安装CPU和GPU两种版本的TensorFlow
  9. python轮廓函数的使用
  10. 漫画算法:辗转相除法是什么鬼
  11. 影响程序性能的几个关键因素
  12. 《电子元器件的可靠性》——3.3节可靠性筛选试验
  13. 网络流24题 Updating
  14. Uniapp|Vue-汉字转拼音|获取汉字的首字母js实现
  15. java get请求405_get方法没问题,post方法报405错误
  16. 计算机网络集成的必要性是,网络管理重要性之谈
  17. 【洛谷P4408】逃学的小孩【树的直径】
  18. 计算机c盘删除的文件怎么找回,电脑C盘里面文件误删了,不能开启电脑了,怎么办?...
  19. 上市公司内审工作内容有哪些
  20. 微信代挂定位服务器,用微信偷看对方位置,通过微信知道对方位置

热门文章

  1. 手机构建Linux环境,Linux手机DIY.构建统一安装包
  2. 我有一个梦想计算机工程师作文,我有一个梦想作文(通用10篇)
  3. 第一行代码第二版6.4.1小节创建数据库中遇到adb shell出错的问题
  4. 客户机是计算机网络硬件吗,计算机网络中硬件连接设备有哪些?
  5. Oracle GL - 使用标准程序获取/创建CCID
  6. 分布式锁1 Java常用技术方案
  7. 年轻人租房大数据报告(人群画像).pdf
  8. oracle下的inventory文件夹,Oracle软件安装目录信息Inventory作用以及如何重建此目录 - 2...
  9. 病例演讲比赛PPT模板
  10. 有云说 | 直播火爆的真正原因是什么?