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

2023-11-21

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


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

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

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

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

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

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

  • C# 获取系统上 Socket.ReceiveBufferSize 和 Socket.SendBufferSize 的最大值

    我们的高吞吐量应用程序 1gbps 从大的 ReceiveBufferSize 和 SendBufferSize 中受益匪浅 我注意到在我的机器上 我可以拥有 100 MB 的缓冲区大小 没有任何问题 但在某些客户端和测试机器上 最大值略高
  • 如何使用C#与Chrome(Chrome扩展)通信?

    我想创建一个可以在我的 C 应用程序和扩展之间进行通信的桥梁 这是我真正想要的解释 我创建了一个扩展 它将获取 HTML 元素的详细信息 但每次启动 Chrome 时都会启动 除了这样做之外 有什么方法可以向我的 chrome 扩展发送消息
  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 安装 Python 3.5 包“socket”pycharm 时出错

    仅使用 PyCharm 或命令提示符无法安装此软件包 Collecting socket Using cached socket 0 5 tar gz Complete output from command python setup py
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • 在 C# 中的同一套接字上发送+接收数据

    我试图使用套接字 System Net Socket 甚至尝试过 TcpListener Client Etc 来在等待或已经发送数据时侦听数据 我做了以下事情 public byte bytesIn public byte bytesOu
  • ADO.NET SQLServer:如何防止关闭的连接持有S-DB锁?

    i Dispose http msdn microsoft com en us library system data sqlclient sqlconnection close aspx一个 SqlConnection 对象 但是当然它并
  • 套接字接收全部

    我正在尝试在 C 中捕获 ip 数据包 一切工作正常 除了我只收到传出的数据包 My Code using Socket sock new Socket AddressFamily InterNetwork SocketType Raw P
  • Node.js 可读流_read用法

    我了解如何在 Node 的 new 中使用可写流Streams2库 但我不明白如何使用可读流 举个例子 一个流包装器围绕dgram module var dgram require dgram var thumbs twiddle func
  • Mac + Ruby:无法访问 Socket 的 ioctl?怎么修?

    一天中的好时光 红宝石代码 def hw address iface sock Socket new Socket AF INET Socket SOCK DGRAM 0 buf iface pack a16h16 sock ioctl S
  • 将 C++ TCP/IP 应用程序从 IPv4 转换为 IPv6。难的?值得这么麻烦吗?

    多年来 我使用 WinSock 为 Windows 开发了少量 C 服务器 客户端应用程序 路由器 Web 邮件 FTP 服务器等 等等 我开始越来越多地考虑创建这些应用程序的 IPv6 版本 当然 同时也保留原始的 IPv4 版本 问题
  • 我可以关闭并重新打开套接字吗?

    我学习了一个使用套接字的例子 在此示例中 客户端向服务器发送请求以打开套接字 然后服务器 侦听特定端口 打开套接字 一切都很好 套接字从双方 客户端和服务器 打开 但我仍然不清楚这个东西有多灵活 例如 客户端是否可以关闭一个打开的 从两端
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • Java RMI 在租约到期后不关闭套接字

    我启用 RMI 的应用程序似乎正在泄漏套接字 我有一个通过 RMI 提供服务的 Java 应用程序 它使用在 Linux 上运行的 Java SE 1 6 RMI 实现 我观察到的问题是 如果客户端使用注册表获取对我的远程对象的引用 然后连
  • Winsock 接受超时

    是否可以设置超时时间accept使用阻塞winsockets时的函数 就像我们可以通过setsockopt 来接收和发送函数一样 似乎不可能 但我想确保 选择功能可以与超时一起使用 虽然 select 最常与非阻塞套接字一起使用 但我还没有
  • 使用 select 从套接字和标准输入读取

    我正在编写一个基于 ncurses 的聊天程序 起初 我只编写了网络内容 没有 ncurses 一切都工作正常 但添加图形后我无法让客户端应用程序正常工作 主要问题是同时从标准输入和套接字读取 在无 ncurses 的版本中 我使用了 pt
  • 如何知道哪个本地应用程序连接到我的套接字(Windows)

    我有一个绑定到某个 TCP 端口的 Windows 服务 该端口用于我的应用程序之间的 IPC 有没有一种编程 WinAPI WinSocket 等 方法可以知道哪个应用程序连接到我的端口 即在我的 Windows 服务中 我想获取连接到我
  • Python,socket.error:[Errno 10049]

    在开发一个简单的聊天客户端的基础上 遇到以下错误 socket error Errno 10049 The requested address is not valid in its context 代码是 from socket impo
  • 如何使用 IdTCPClient 等待来自服务器的字符串?

    我的 IdTelnet indy 10 1 有问题 我无法以 Unicode 模式从服务器读取数据 现在我想用 IdTCPClient 编写 telnet 终端 服务器有时发送一行 有时发送越来越多的行 但发送之间没有固定的时间 现在我的问
  • 消息队列与套接字

    我没有太多的套接字编程经验 但我尝试阅读一些相关内容 我对 MDB 和消息队列非常熟悉 有人告诉我队列 例如 MDB 只不过是直接套接字连接 有人可以帮我比较一下这两个吗 两者是无与伦比的 因为它们代表不同的layers 这就像将关系数据库

随机推荐

  • 滚动角载荷数据 [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 的请求吗 我知道我可以让一个应用程序启动两个线程 或分叉 以具有类似的行为 但是两个