为什么我会收到错误的文件描述符错误?

2024-02-21

我为我制作的 udp 服务器程序的此代码收到错误文件描述符错误

from socket import *

s = socket(AF_INET, SOCK_DGRAM)
s.bind(('', 890))

while True:
   (c,a) = s.recvfrom(1024)
   msg = 'thanks for requesting'
   s.sendto(msg,a)
   s.close()

我收到的错误消息是

Traceback (most recent call last):
File "udpserv.py", line 7, in <module>
(c,a) = s.recvfrom(1024)
 File "/usr/lib/python2.7/socket.py", line 174, in _dummy
raise error(EBADF, 'Bad file descriptor')
socket.error: [Errno 9] Bad file descriptor

谁能告诉我如何得到这个错误以及如何解决它?


您收到此错误是因为您close套接字然后调用recvfrom again.

如果您添加一个print在该行之后recvfrom,你会注意到第一次调用recvfrom按预期工作。第二次调用(循环一次后)抛出您看到的错误。

只需删除即可修复您的代码s.close()。 (您不需要关闭与客户端的连接,因为 UDP 没有这个概念,而如果您考虑到这一点,则与 TCP 不同。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我会收到错误的文件描述符错误? 的相关文章

  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s

随机推荐

  • openjdk 中的networkaddress.cache.ttl null

    当我执行时 System getProperty networkaddress cache ttl Security getProperty networkaddress cache ttl 结果为空 我使用的是alpine openJdk
  • JAX-WS - 将异常映射到故障

    我正在使用 JAX WS 公开 WebService 该服务的某些操作可能会产生异常 不是内部服务器异常 而是依赖于操作调用的输入参数的异常 如果我指定我的操作抛出自定义异常 如下所示 WebService SOAPBinding styl
  • 使用 Ansible 执行 Powershell DSC

    我的最终目标是使用 Ansible 在 Server 2016 服务器上配置 AdcsCertificationAuthority name Install ADCS with sub features and management too
  • ASP.NET MVC Html.ActionLink 维护路由值

    我有一个在这里几乎被问到的问题 asp net mvc Html ActionLink 保留我不想要的路由值 https stackoverflow com questions 780643 asp net mvc html actionl
  • cout << setw 与 åäö 未正确对齐

    以下代码重现了我的问题 include
  • Python Flask 立即发送响应

    我需要在请求期间执行 Process 如下所示 app route test def test process print starting new process p Process target do long extra job p
  • 离线时强制从 Cloud Firestore 缓存获取

    我目前正在将 Firebase Firestore 用于 Android 项目 但当手机处于飞行模式时 我在检索数据时遇到一些问题 这是我的代码 public void loadThings FirebaseFirestore db Fir
  • 如何对齐段落中的 UILabel 文本

    我在根据客户要求设置文本对齐方式时遇到一个小问题 客户希望文本以段落方式与单独行中的数字对齐 请看下图 数字有 19 像素填充 文本以段落方式对齐 有 41 像素填充 如果我们将标签设置为左对齐 我们将得到数字下方的第二行 我尝试寻找解决方
  • Try、Catch、Finally 中抛出异常 VS 返回错误

    我很确定我已经知道答案 但我仍然很好奇对于处理 Try Catch Finally 块中的错误有何看法 但当你重复自己的时候 顺便说一句 我不是在谈论用户输入 而是使用它作为示例 因为它清晰且简短 考虑这段代码 try if success
  • Spring AOP 的 BeanNotOfRequiredTypeException

    我正在尝试 spring aop 和 spring 配置文件下面
  • 快速读取大量文件

    我有大量 gt 100k 相对较小的文件 1kb 300kb 需要读入和处理 我目前正在循环所有文件并使用File ReadAllText读取内容 处理它 然后读取下一个文件 这是相当慢的 我想知道是否有一个好的方法来优化它 我已经尝试过使
  • 安装@types/leaflet后无法访问全局L命名空间

    我正在努力获取对导出命名空间的引用leaflet https www npmjs com package types leaflet我的 TypeScript 项目中的类型定义 安装类型后使用npm install save types l
  • mongorestore 由于 BSONSize 无效而失败

    我有一个转储 mongodb 的脚本 mongodump archive MONGODB PATH host MONGODB HOST port MONGODB PORT username MONGODB USER password MON
  • MySQL 代码的 MySQLi 等效项

    你能给我MySQL中这段代码的等价物吗 无法得到正确的 EDIT 愿意向我解释一下出了什么问题吗 mysqli new mysqli host username pass db if mysqli gt connect error die
  • 用于渲染 JSON 的 Spring 模板引擎

    我来自 Ruby 刚刚开始测试 Spring 发现它相当不错 不过我习惯了能够自定义渲染JSON输出像这样的库rabl https github com nesquena rabl将内部模型直接暴露给外部感觉真的是错误的JSON就像我现在对
  • SyntaxError:JSON 中位置 1 处出现意外标记 e

    下面的代码有什么问题吗 我不断收到以下错误 ajax 的响应是纯文本 例如 Hello world http get 是否需要 json 响应 angular js 13550 SyntaxError JSON 中位置 1 处出现意外标记
  • django:将每个用户的数据分开

    我正在尝试研究如何 最好 最安全的方法来将用户的数据在我需要编写的 django 站点中分开 这是我需要做的一个例子 示例应用程序待办事项列表 使用 django contrib auth 来管理用户 密码等 我将拥有以下用户 汤姆 吉姆
  • 使用不同的值更新整个表的列(SQL、PHP)?

    我正在尝试自动执行将字符串值插入表中每一行的任务 该字符串有所不同 但长度不会超过 18 个字符 这就是我突然想到的
  • Heroku 支持 ActionController::Live 吗?

    我有一个在 Heroku 上托管的 Rails 应用程序 我想添加服务器发送事件功能 但我找不到任何专门针对 Heroku 的文档或博客文章 由于并非所有服务器 例如 WEBrick 都支持 ActionController Live 我想
  • 为什么我会收到错误的文件描述符错误?

    我为我制作的 udp 服务器程序的此代码收到错误文件描述符错误 from socket import s socket AF INET SOCK DGRAM s bind 890 while True c a s recvfrom 1024