两个应用程序可以监听同一个端口吗?

2023-11-21

同一台机器上的两个应用程序可以绑定到相同的端口和IP地址吗?更进一步,一个应用程序可以侦听来自某个 IP 的请求,而另一个应用程序侦听来自另一个远程 IP 的请求吗? 我知道我可以让一个应用程序启动两个线程(或分叉)以具有类似的行为,但是两个没有任何共同点的应用程序可以做同样的事情吗?


答案因所考虑的操作系统而异。但总的来说:

对于 TCP,没有。您一次只能让一个应用程序侦听同一端口。现在,如果您有 2 个网卡,您可以让一个应用程序使用相同的端口号侦听第一个 IP,让第二个应用程序侦听第二个 IP。

对于 UDP(多播),多个应用程序可以订阅同一端口。

编辑:从 Linux Kernel 3.9 及更高版本开始,使用以下命令添加了对侦听同一端口的多个应用程序的支持SO_REUSEPORT选项。更多信息请访问这篇 lwn.net 文章。

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

两个应用程序可以监听同一个端口吗? 的相关文章

  • Ruby 的 GServer 只想在本地主机上工作

    TCPServer new port 创建一个可以为来自本地主机或远程计算机的请求提供服务的服务器 但是 GServer new port 创建的服务器只能服务来自本地主机的请求 查看GServer的源码 它调用了TCPServer new
  • 为什么socket会干扰selenium?

    我编写了一个 python 脚本来使用套接字检查互联网连接 检查网络连接 https stackoverflow com questions 3764291 checking network connection 然后使用 selenium
  • 服务器套接字在 Close_Wait 中挂起

    场景如下 我正在从 C 服务器应用程序向客户端发送大量数据 突然数据流停止 客户端没有数据更新并且端口被阻塞 发生这种情况时 服务器端症状是 Close Wait 在该端口 netstat 操作将在日志中阻塞 错误代码 135 无法从客户端
  • Python - 将整数或字符串发送到 Spark-Streaming

    我可以通过 CSV 文件发送我的数据 首先 将我的随机数写入CSV文件然后发送 但是可以直接发送吗 我的套接字代码 import socket host localhost port 8080 s socket socket socket
  • 如何为自定义应用程序选择静态端口号?

    我们有一个自定义应用程序 需要在其自己的端口号上处理请求 我们真的不在乎这个数字是多少 尽管我们在决定后会坚持使用该端口 如何选择最不可能与用户系统上运行的其他应用程序或服务发生冲突的数字 我们应该遵循什么规则或标准吗 澄清 一旦我们选择了
  • 创建 ip 网络数据包 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须使用任何协议手动创建自己的网络
  • net.Socket.writable、net.Socket.readable 属性不是官方 Node.js API 的一部分

    我想知道为什么 net Socket writable 和 net Socket read 属性不是官方 Node js API 的一部分 这是否意味着最好不要使用这些属性 因为它是将来可能会改变的内部内容 它们是 但不是你正在寻找的地方
  • 无法连接到非阻塞套接字

    这让我抓狂 我必须在 php 5 3 中创建一个非常简单的非阻塞套接字脚本 其中客户端连接到服务器 两者都使用非阻塞套接字 我试过了phpsocket守护进程 http code google com p phpsocketdaemon 和
  • 从套接字多次打开读/写流

    在我有的班级里ServerSocket监听传入连接 代码如下 while isRunning try Socket s mysocketserver accept acknowledgeClient s new ClientHandler
  • C# 套接字数据报溢出

    我是 C 新手 我有一个关于udp套接字的小问题 我有一个聊天服务器 它接收特定结构的数据包 udp 数据报 为什么程序在套接字缓冲区已满时才接收数据 难道以后的一切就不应该失去吗 也许会出现数据包碎片 数据包结构 udp headers
  • ConnectionTimeout 与 SocketTimeout

    我正在使用的库有问题 可能是图书馆的问题 也可能是我用错了 基本上 当我这样做时 超时以毫秒为单位 ignitedHttp setConnectionTimeout 1 v short ignitedHttp setSocketTimeou
  • python 中的原始套接字和 sendto

    我正在努力将 scapy 与twisted 集成 但我在 OSX 上遇到了这个非常奇怪的错误 我似乎无法弄清楚 基本上我无法通过原始套接字发送有效的 TCP 数据包 包括 IP 标头 这就是我正在做的 import socket from
  • Node.js Socket.IO 无法完全工作

    我运行一个侦听端口 5000 的独立服务器 当我通过 Netcat 或 Telnet 连接到它时 该应用程序不会在终端上打印任何内容 但在 Netcat Telnet 应用程序屏幕上 它显示连接已建立 var io require sock
  • Flask / Werkzeug - 套接字卡在 CLOSE_WAIT 中

    我遇到过一种情况 API 构建于Flask 宁静 https github com flask restful flask restful间歇性变得无反应 目前它从 Werkzeug 运行 我知道它仅用于非生产用途 并且是单线程的 让事情变
  • 保持 WebSocket 连接处于活动状态

    我正在研究 WebSocket 协议 并尝试在后端使用 Python 实现一个简单的 ECHO 服务 它似乎工作正常 但连接建立后立即断开 这是我的客户
  • 选择时的套接字阻塞和超时

    我目前正在创建一个回显服务器 该服务器在空闲 maxWaitTime 后断开客户端连接 我希望程序会阻塞套接字 直到客户端发送数据 但是当我在 gdb 中运行该程序时 它会通过 select 并阻塞 Readline 我知道 retval
  • 如何知道 Socket 的发送缓冲区中有多少数据

    我可以通过调用来知道 Socket 的接收缓冲区中有多少数据Socket IOControl IOControlCode DataToRead null outValue 是否有等效的方法来告诉 Socket 的发送缓冲区中有多少数据 我需
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • 两个 ruby​​ 进程之间的通信可能/容易吗?

    如果我有一个 ruby 脚本Daemon顾名思义 它作为守护进程运行 监视系统的某些部分并能够执行需要身份验证的命令 例如更改权限 是否有一种简单的方法来拥有第二个 ruby 脚本 例如client 与该脚本通信并向其发送命令 询问信息 我

随机推荐

  • 滚动角载荷数据 [For 循环]

    我正在显示与搜索词相关的数据 该数据一次性显示所有结果 我想要做的是一次显示 6 个数据 然后将剩余的数据加载到滚动条上 li category name li 如何滚动显示数据 你可以听window scroll当滚动到达页面底部时发生事
  • 从 Jenkinsfile 中的函数调用阶段

    我的 Jenkinsfile 中有 def foo 1 2 3 def parallelStagesFromMap foo collectEntries Build it generateStage it def generateStage
  • 如何正确模拟类的私有成员

    我正在尝试为依赖于另一个私有方法的方法编写一些单元测试 如下例所示 def is member of self group name members self get group members group name 我想模拟的私有方法是
  • 使用自定义证书文件在代理后面进行 Pip

    pip 的代理设置可以通过 proxy命令行选项或全局配置文件中 即 HOME config pip pip conf在Unix中 HOME Library Application Support pip pip conf在 OS X 中
  • 背景颜色十六进制到 JavaScript 变量

    我对 JavaScript 和 jQuery 有点陌生 现在我面临一个问题 我需要将一些数据发布到 PHP 其中一位数据需要是 div X 的背景颜色十六进制 jQuery 具有 css background color 函数 使用它我可以
  • 嵌套 ng-bootstrap 选项卡 (Angular 2)

    我正在尝试嵌套 ng bootstrap 选项卡小部件 但嵌套选项卡的内容未正确显示 当我单击嵌套选项卡时 内容本身就会消失 最小演示 我究竟做错了什么 这是查看代码
  • 在 WPF 中实现多停靠窗口系统(如 Blend、Visual Studio)

    您将如何实现如 Expression Blend 中所示的停靠工具箱窗口系统 您可以通过多种方式相互停靠工具箱窗口 如选项卡或浮动顶级窗口一样重叠 我的系统的行为应该与 Expression Blend 中的行为几乎相同 另外 我在拖动时获
  • cv2.drawContours不会绘制填充轮廓

    我正在尝试使用显示填充轮廓cv2 drawContoursOpenCV 中的函数 我已经从边缘图像中开发了一个轮廓列表 该边缘图像源自Canny检测 并找到轮廓RETR EXTERNAL为层次结构定义启用 然而我遇到了一个问题 尽管使用 1
  • 使用指向结构内部声明的字段的指针(也称为 CONTAINING_RECORD 宏)来计算指向整个结构的指针的可移植方法

    例如 在 Winnt h 中定义了众所周知的 CONTAINING RECORD 宏 define CONTAINING RECORD address type field type PCHAR address ULONG PTR type
  • 如何覆盖 Next.js `*.svg` 模块声明?

    Next js 最近进行了修改 在 v11 0 x 中 其中具有以下类型定义 In next env d ts 不可修改 在每次构建时重新生成
  • activeadmin,删除空消息

    在 ActiveAdmin 中 当模型没有项目 在我的示例用户中 时 它会显示默认的 还没有用户 创建一个 我怎样才能删除这条消息 是否可以在每个页面上进行自定义 即为特定的 ActiveAdmin 页面提供特定的消息 这是一个猴子补丁 在
  • 从组件中的 useState 多次调用状态更新程序会导致多次重新渲染

    我第一次尝试 React hooks 一切看起来都很好 直到我意识到当我获取数据并更新两个不同的状态变量 数据和加载标志 时 我的组件 数据表 被渲染两次 即使两次调用状态更新器发生在同一函数中 这是我的 api 函数 它将两个变量返回到我
  • 如何从字符串中解析日期/时间?

    Input 带有日期和可选时间的字符串 不同的表现形式固然很好 但也是必要的 这些字符串是用户提供的 并且可能格式错误 例子 2004 03 21 12 45 33 我认为这是默认布局 2004 03 21 12 45 33 可选布局 23
  • 如何在输出之前修改整个 ASP.NET 页面内容?

    我有一个页面 上面有很多用户控件 我希望能够直接在将在我的代码中替换的内容中包含 宏 或 占位符 这应该不重要 但我使用 Ektron 作为我的 CMS 在将整个呈现的页面内容发送到客户端之前 我是否可以挂钩任何页面事件来对整个呈现的页面内
  • html5画布中的双线描边

    我想使用以下方法绘制一个具有双线边框的形状html5画布路径 默认笔划 context lines 具有单线类型的路径 我可以在原始形状内绘制类似的形状 以生成一个看起来像用两条边框线制成的图形 但我想要某种通用的解决方案 有任何想法吗 做
  • AWS CLI:禁用分发

    据我了解 禁用cloudfront分发 means 更新其状态并且必须能够删除它 鉴于 AWS CLI 的文档非常稀疏 我正在寻找一个简单的示例来说明如何仅使用 CLI 进行更新 虽然我无法为您提供一个最小的示例 但以下内容应该可行 您可以
  • ldap3 python 将用户添加到组

    我正在使用编写一个小脚本python ldap3生成虚拟用户和组 我在将用户与组链接时遇到问题 运行此代码片段后 我的 Active Directory 服务器中没有任何更改 conn modify cn dancing ou test g
  • 在javascript中获取上传文件的数据

    我想上传 csv 文件并处理该文件内的数据 最好的方法是什么 我不想使用 php 脚本 我执行了以下步骤 但这个方法只返回文件名而不是文件路径 所以我没有得到想要的输出
  • WatchKit 应用程序无法在模拟器上运行

    error WatchKit Extension doesn t contain any WatchKit apps Verify that the value of WKWatchKitApp in your WatchKit App s
  • 两个应用程序可以监听同一个端口吗?

    同一台机器上的两个应用程序可以绑定到相同的端口和IP地址吗 更进一步 一个应用程序可以侦听来自某个 IP 的请求 而另一个应用程序侦听来自另一个远程 IP 的请求吗 我知道我可以让一个应用程序启动两个线程 或分叉 以具有类似的行为 但是两个