如何绑定到任何可用端口?

2024-03-06

我需要一个将 UDP 数据包发送到某个网络服务器并接收响应的应用程序。服务器回复请求所在的相同端口号,因此我首先需要将我的套接字绑定()到任何 UDP 端口号。

对 UDP 端口号进行硬编码是一个坏主意,因为它可能会被同一台 PC 上运行的任何其他应用程序使用。

有没有办法将 UDP 套接字绑定到任何可用端口? IMO 它应该是快速获得自由端口 # 的有效方法,例如可以使用该端口。接受()函数。

如果不是,那么尝试绑定并检查 WSAEADDRINUSE/EADDRINUSE 状态的最佳策略是什么:从 1025、或 1025+rand() 或其他端口开始按顺序尝试端口?


另一种选择是将端口 0 指定为bind()。这将允许您绑定到特定的 IP 地址(如果您有multiple安装),同时仍然绑定到随机端口。如果您需要知道选择了哪个端口,可以使用getsockname()执行绑定后。

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

如何绑定到任何可用端口? 的相关文章

  • 套接字返回“没有这样的文件或目录”

    Linux 海湾合作委员会 4 4 2 我正在做一些套接字编程 但是 当我尝试从套接字函数分配 sockfd 时 我不断收到此错误 Socket operation on non socket 非常感谢您的任何建议 if defined l
  • .NET Windows 服务中调用 C# 的 wait 的 I/O 回调是否可以不阻塞?

    我知道在 ASP NET 中 当使用 wait 时工作线程会返回到池中 而 I O 发生在后台 这对于可扩展性非常有用 我的 Windows 服务是一个套接字服务器 它使用 Begin End 样式的异步套接字 I O 混合我的魔法 我知道
  • 停止 TcpListener 的正确方法

    我目前正在使用 TcpListener 来处理传入连接 每个连接都有一个线程用于处理通信 然后关闭该单个连接 代码如下 TcpListener listener new TcpListener IPAddress Any Port Syst
  • Python:监听两个端口

    import socket backlog 1 Number of queues sk 1 socket socket socket AF INET socket SOCK STREAM sk 2 socket socket socket
  • 通过套接字发送字符串(python)

    我有两个脚本 Server py 和 Client py 我心中有两个目标 能够从客户端一次又一次地向服务器发送数据 能够将数据从服务器发送到客户端 这是我的 Server py import socket serversocket soc
  • 如何使用C从http下载文件?

    最近几天我试图弄清楚如何从 URL 下载文件 这是我对套接字的第一个挑战 我用它来了解协议 所以我想在没有 cURL 库的情况下只用 C 语言来完成它 我搜索了很多 现在我可以打印页面的源代码 但我认为这与文件不同 我不必只将接收到的数据从
  • C:为什么这个服务器/客户端设置只能在一台计算机上运行?

    我是网络新手 我想知道为什么会这样TCP 服务器 客户端 C 语言实现 https www geeksforgeeks org tcp server client implementation in c 只能在一台计算机上运行 1 我的意思
  • “192.168.1.1/21”是什么意思?

    当他们在 IP 地址后面写上一个斜杠和一个数字时 这意味着什么 斜杠后面的部分是要使用多少个子网掩码位 由于使用无类路由 您可以使用斜线而不是说 A 类或 B 类 例子 192 168 1 1 24 is 192 168 1 1 255 2
  • 服务器套接字在 Close_Wait 中挂起

    场景如下 我正在从 C 服务器应用程序向客户端发送大量数据 突然数据流停止 客户端没有数据更新并且端口被阻塞 发生这种情况时 服务器端症状是 Close Wait 在该端口 netstat 操作将在日志中阻塞 错误代码 135 无法从客户端
  • 如何从 Android 应用程序检测 WiFi 网络中连接的所有设备

    我正在开发一个应用程序 我需要在其中扫描 WiFi 网络并显示所有已连接设备的列表 允许用户点击设备 应用程序应显示该特定设备的所有硬件信息 这里的硬件是指 RAM 存储介质 存储容量 设备名称 设备 IP 地址等 现在 该设备可以是 Xb
  • C++ boost asio超时用于阻止连接

    我有一个 C boost 客户端 它执行阻塞连接并在收到响应后处理消息 我面临一个奇怪的问题 tcp resolver query query tcp v6 this gt host port tcp resolver query v4 m
  • 使用 JMS,是否有任何方法可以将消息存储在间歇性断开连接的客户端上,并在网络可用时将其转发给代理?

    我正在考虑一种架构 其中我的客户端间歇性地连接到网络 当网络不可用时 我希望将在这些客户端上创建的消息存储在 JMS 队列中 并在客户端位于网络上时将这些消息转发到中央消息代理 用户可以控制网络 例如拨入 因此它不像手机那样是间歇性连接 是
  • 10G 链路的 netcat 和 iperf 结果存在巨大差异

    我很困惑看到 netcat 和 iperf 结果之间的巨大差异 我有 10 G 链路连接我的服务器和客户端 iperf 的速度约为 10Gb s 但 netcat 的速度仅为约 280 MB s 可能是什么错误 对于 Iperf Serve
  • 选择时的套接字阻塞和超时

    我目前正在创建一个回显服务器 该服务器在空闲 maxWaitTime 后断开客户端连接 我希望程序会阻塞套接字 直到客户端发送数据 但是当我在 gdb 中运行该程序时 它会通过 select 并阻塞 Readline 我知道 retval
  • 通过 UDP 从服务器向 iPhone 发送大量实时处理的数据

    我正在实施一个远程应用程序 服务器将实时处理和渲染数据作为动画 准确地说 是一系列图像 每次渲染图像时 都会通过 UDP 将图像传输到接收 iPhone 客户端 我研究了一些UDP 我知道以下几点 UDP 的最大大小约为 65k 不过 iP
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • express.io VS express + socket.io 有什么用处?

    我在这里发现了 socket io 和聊天示例 https github com rauchg chat example blob master index js https github com rauchg chat example b
  • 如何使用 HTML5 与 UDP 套接字通信?

    我拥有的 正在运行的 C 应用程序服务器 准备将数据发送到应该发送到 HTML5 页面或应用程序的客户端 我想要的是 考虑到 c 服务器和 HTML5 应用程序都是系统本地的 有没有办法使用 udp 端口 与 HTML5 进行通信 我知道的
  • lua-socket:unix 域套接字?

    我使用的是 lua socket 3 0rc1 3 Ubuntu Trusty 附带的 和 lua 5 1 我正在尝试监听 unix 域套接字 我能找到的唯一示例代码是this http lua users org lists lua l
  • Retrofit + Rxjava 服务器连接失败时调用onError需要很长时间

    我正在使用 Retrofit Rxjava 从服务器获取实体列表 根据我的设计 当任务失败时 它首先检查互联网连接 然后检查与服务器的连接doOnError的方法Observable 当客户端没有连接到互联网时doOnError在合理的时间

随机推荐

  • Python-用另一个单词替换单词[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有 12 个单元格的 html 表格 每个单元格都有一个要替换的单词 所有的词都是相同的 我还有一个包含 12 个元素的列表 每个元
  • 如何在 C# WEB API 中返回 JSON Web 令牌?

    我正在尝试使用 JWT 来保护用 C 编写的 WEB API 但我对一些事情感到困惑 根据我的理解 流程应该是这样的 客户端从某些客户端应用程序 Angular NET Mobile 等 向 Web API 提供用户名 密码 Web API
  • 哪种传感器适合旋转 Android 手机?

    想象一下你指着电视 您手里紧握着手机 现在 旋转手腕 我需要使用哪个传感器来检测这样的运动 陀螺仪 方向 加速度计 传感器TYPE MAGNETIC FIELD and TYPE ACCELEROMETER可以很好地检测到这一点 如TYPE
  • PySide:QPushButton 按下后保持突出显示

    在我的工具中 当用户按下按钮时 会创建一个弹出窗口 我的问题是 用户按下打开窗口的按钮在弹出窗口创建时保持突出显示 就像我将鼠标悬停在它上面一样 并且即使在弹出窗口被删除后仍然保持这种状态 我实际上喜欢弹出窗口处于活动状态时的此突出显示 它
  • 相当于 ASP.NET 中的 ASP.NET MVC TempData

    在 ASP NET MVC 中 有一个 TempData 可以将数据一次从一个页面传递到另一页面 在 ASP NET 中这相当于什么 没有直接的等效项 即仅传递到下一页的数据 您可以使用Session并在接收页面将其清除
  • 保存/提交时重新加载 jqGrid

    我有以下代码可以在双击时进入内联编辑 ondblClickRow function row id if row id null Products jqGrid restoreRow last selected row Products jq
  • 在 Javascript 中模拟 window.location.href

    我对一个使用 window location href 的函数进行了一些单元测试 这并不理想 我宁愿将其传递进去 但在实现中这是不可能的 我只是想知道是否可以模拟这个值而不实际导致我的测试运行器页面实际转到该 URL window loca
  • 对于此场景,在 SQL 中连接多个表

    这是我的表结构 我有3张桌子 会员表 评论表 评论如表 表结构可以在下图中找到 表 会员 user id full name email password image join date 表 专辑 评论
  • 使用Python/Boto/Django构建策略直接上传到S3

    到目前为止 我已经经历了这个问题的多次迭代 搜索了许多不同的示例 并且已经阅读了所有文档 我正在尝试结合 Plupload http www plupload com http www plupload com 与 AWS S3 直接发布方
  • 带有用户输入和选择变量的 Jenkinsfile

    我想使用新的 Jenkinsfile 来完成新的工作 我有 jenkinsfile 它位于单独的存储库中 我从另一个 GitLab 存储库获取分支git ls remote在bash中 我将它们存储在变量中 branch1 branch2
  • Ionic 3 - cocoapods 的 xcode 错误

    我尝试构建一个带有推送通知的 ionic 3 应用程序 但我在 iOS 部署方面遇到了一些问题 我在 xcode 中遇到了 3 个错误 diff Podfile lock No such file or directory diff Man
  • 为什么 GHC 使修复变得如此令人困惑?

    查看 GHC 源代码我可以看到定义fix is fix a gt a gt a fix f let x f x in x 在一个例子中fix像这样使用 fix f x gt let x x 1 in x f x 这基本上会产生一系列加一到无
  • 支持索引视图的会话设置

    我在数据库中使用索引视图 因此客户端应该有一些会话连接设置来调用它们 我正在使用 ado net 连接 命令调用存储过程 每次我必须调用存储过程时 我都会创建连接 我希望连接池允许我快速完成此操作 并执行命令以将这些设置应用到当前连接 so
  • 如何在 Android Studio 中显示行号[重复]

    这个问题在这里已经有答案了 我正在发布 如何在 Android Studio 中显示行号 的快速参考 请参阅下面的答案 注意 这个问题已被标记为重复 因为 Android Studio 基于IntelliJ http blog jetbra
  • 相同的字体在 Chrome 与 Firefox、IE 和 Safari 中看起来不同

    该问题与在不同浏览器中呈现字体有关 我很惊讶地发现这个问题只在 Chrome 中重现 它在 Firefox IE8 Safari 甚至 IE6 中运行良好 样品来了 这是代码本身 div style padding top 1px widt
  • ReactJS:使用 useState 管理多个复选框输入

    我有以下示例组件 它使用多个复选框来选择要从对象列表中删除的项目 import React useState from react import styles css const data name test1 result pass na
  • 使用 JLayeredPane 创建棋盘游戏布局

    我有一项任务要求我创建您在图像中看到的布局 作为游戏开发的一部分 我以前从未在桌面应用程序中使用过 Java 因此在使用 Swing 和 AWT 库方面我完全是个菜鸟 该图像建议我们使用 JLayeredPane 作为根容器 然后将其余部分
  • 支持 R2dbcRepository 中的异常处理,或者如何使用我自己的错误处理程序来装饰 R2dbcRepository 中的每个方法调用

    背景 我有一个应用程序范围的通用异常处理程序来翻译来自R2dbcRepository 例如 摘录只是为了显示预期目的 Component public class ErrorHandler public Throwable mapError
  • Javascript insideHtml 不工作

    我想创建一个函数来替换单击后的 h1 html 它似乎不起作用 我不知道我做错了什么 这是我的 JavaScript function changeToYoMaMa el el innerHtml h1 Yo Mama h1 var el
  • 如何绑定到任何可用端口?

    我需要一个将 UDP 数据包发送到某个网络服务器并接收响应的应用程序 服务器回复请求所在的相同端口号 因此我首先需要将我的套接字绑定 到任何 UDP 端口号 对 UDP 端口号进行硬编码是一个坏主意 因为它可能会被同一台 PC 上运行的任何