相同的错误代码

2024-02-28

我在Linux上使用python 2.4.1,以及我工作的公司内部编写的python包,用于在两台主机之间建立连接以进行测试。

建立连接后,定义为客户端的一侧在调用时失败socket.connect使用正确的参数(我检查过),错误代码为111。在网上搜索此错误的含义后,我了解到这意味着连接被主动拒绝。

但是包中用于建立连接的代码应该处理它,只有它知道 10061 作为同一错误的错误代码:连接被拒绝。

难道同样的逻辑错误有相同的错误码吗?难道111是Linux操作系统的系统错误,而10061是python的甚至是其他操作系统的错误?即便如此,错误代码的整个概念不就是将逻辑错误统一为相同的代码吗?

我应该简单地将 111 错误代码添加到处理条件中吗?


看来 Python 正在从操作系统公开错误代码 - 代码的解释取决于操作系统。

111 is ECONNREFUSED在许多 Linux 系统和 Cygwin 上。

146 is ECONNREFUSED在 Solaris 上。

10061 是WSAECONNREFUSED在 winerror.h 中 - 它是 Windows Socket API 的版本ECONNREFUSED.

毫无疑问,在其他系统上,情况又有所不同。

处理这个问题的正确方法是根据操作系统的定义使用符号比较ECONNREFUSED;例如,这就是您在 C 中执行此操作的方式。换句话说,在特定于平台的库(在任何情况下都需要链接到操作系统的套接字原语)中有一个名为 ECONNREFUSED 的常量,该常量具有该平台的 ECONNREFUSED 值,并将错误代码与 ECONNREFUSED 常量进行比较,而不是幻数。

我不知道Python处理操作系统错误代码的标准方法是什么。我怀疑这不是经过深思熟虑的。

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

相同的错误代码 的相关文章

随机推荐

  • 静态媒体图像不显示在 Django 中

    我正在开发一个在线书店应用程序 我有一个书籍详细信息页面 在表格中显示书籍信息 包括书籍封面图像 我遇到一个问题 当我运行服务器时图像显示正确 但是团队成员从 Github 拉取我的代码后无法显示图像 所有书籍模板 extends book
  • 私有接口方法的方法引用

    考虑以下代码 public class A public static void main String args Runnable test1 I new I test compiles OK Runnable test2 new I t
  • 如何使用 JAX-RS 转发请求?

    我想将 REST 请求转发到另一台服务器 我将 JAX RS 与 Jersey 和 Tomcat 一起使用 我尝试设置See Other响应并添加Location头球 但它不是真正的前锋 如果我使用 request getRequestDi
  • 准确设置winsock选择超时

    我试图在指定的时间段后让我的接受呼叫超时 并且我尝试遵循此处的建议 Winsock 接受超时 https stackoverflow com questions 9683358 winsock accept timeout 在这种情况下 当
  • 从另一个 ViewController Swift 4.2 重新加载 tableView

    当我尝试从另一个 VC 调用方法时reloadData 然后应用程序崩溃Fatal error Unexpectedly found nil while unwrapping an Optional value由于 tableview ni
  • 如何将哈希函数输出映射到布隆过滤器索引?

    任何人都可以帮助我提供有关哈希函数输出如何映射到布隆过滤器索引的概述吗 这是关于布隆过滤器 http en wikipedia org wiki Bloom filter 关于哈希函数输出如何映射到布隆过滤器索引的概述 对于每个k在使用哈希
  • 如何挑选多个提交

    我有两个分支机构 犯罪a是一个的头 而 另一个则有b c d e and f在之上a 我想搬家c d e and f到第一个分支而不提交b 使用cherry pick很简单 逐一结帐第一个分支cherry pickc to f并将第二个分支
  • 内联块列表项之间的空格[重复]

    这个问题在这里已经有答案了 可能的重复 内联块列表项中不需要的边距 https stackoverflow com questions 4969082 unwanted margin in inline block list items 如
  • 如何让 Docker hub 使用相同的镜像来表示“最新”和“vX.Y”?

    Docker Hub 构建了一个同步图像 https hub docker com r meonkeys syncthing 对我来说从这个源代码库 https github com meonkeys docker syncthing 我标
  • 如何通过 Python 使用 SHEET API v4 删除 google 电子表格中的行?

    我的代码如下 def write cells spreadsheet id update data updating sheet service spreadsheets values batchUpdate spreadsheetId s
  • 使用razor的条件Html属性

    我有一种情况 我想根据视图模型上设置的属性将按钮显示为启用或禁用 if Model CanBeDeleted
  • 如何将图例标题与ggplot2中图例框的中间对齐?

    我想移动图例标题sex位于图例框水平中心右侧一点 我试过theme and guide legend但失败了 两种方式都不会改变图例标题位置 example data from http www cookbook r com Graphs
  • 如何将 virtualenv 与本地 dist 包隔离?

    如何使用 usr local lib python2 7 dist packages 停止 virtualenv 目前当我跑步时 virtualenv no site packages ENV 它仍然使用我希望停止的 dist packag
  • 如何启用跨表格单元格和行的 div 拖动和调整大小

    UPDATE 我认为 Jquery 是解决我的问题的唯一方法 所以让演示工作将会有很大的帮助 谢谢 我正在尝试创建一个调度程序类型的应用程序 我需要能够垂直调整彩色 div 的大小 并将它们拖动到表中的任何行 单元格 例子 将调整大小橙色
  • Friendship_Id 和保留字 -- 如何替换保留字?

    以下是导致错误的原因的示例 ruby 1 9 2 p290 004 gt Post new title new save 0 3ms BEGIN post Load 0 3ms SELECT posts FROM posts WHERE s
  • 标记/样式最佳实践:如何在 CSS 类上有效地分发样式规则?

    假设我有一些 HTML 页面和相应的 CSS 文件 我想为某些元素添加圆角 我想在其他所有部分上替换背景颜色 我想为每个部分标题添加悬停状态 如此等等 我一直在造型 造型 造型 我发现存在三个极端 涉及按类 按 id 和按层次结构在标记上分
  • 使用对象初始值设定项时如何正确使用断点?

    例如 做这样的事情 foreach DataRow row in data Rows Person newPerson new Person Id row Field
  • Opencv复制3通道IplImage到4通道IplImage

    当我尝试使用 cvCopy 将由 3 个通道组成的 IplImage 复制到具有 4 个通道的 IplImage 稍后我需要额外的通道 时 我得到的只是一条错误消息 是否有另一种方法可以增加 IplImage 的通道数而不丢失它已经保存的数
  • git rebase 已经合并分支了吗?

    我从主分支创建了一个功能分支 之后 有来自功能分支的提交 F1 F1 Feature Branch M1 M2 Master Branch 之后 feature分支被合并到master分支中 并且master分支中还有两个提交 M3 和 M
  • 相同的错误代码

    我在Linux上使用python 2 4 1 以及我工作的公司内部编写的python包 用于在两台主机之间建立连接以进行测试 建立连接后 定义为客户端的一侧在调用时失败socket connect使用正确的参数 我检查过 错误代码为111