首页 > 解决方案 > 两个进程绑定并监听相同的地址和端口,但是如何确保它们都能接收到传入的消息?

问题描述

我有一个服务器应用程序,它的部分代码如下:

socket = socket(...); // create a socket
setsockopt(RE_USEADDR); // set the socket option RE_USEADDR
bind(socket, 127.0.0.1, 8080); // bind the socket to the IP address and Port
listen(); // listen

这是问题:

  1. 我在同一台机器上、同一个用户上启动了服务器应用程序两次。他们都可以很好地工作。
  2. 启动客户端应用程序,该应用程序连接到127.0.0.1:8080
  3. 向服务器发送一些内容。但是,只有一个服务器应用程序可以接收来自客户端的消息。

无论如何要确保两个服务器应用程序都从客户端接收消息。如果有,请解释如何以及为什么在 TCP 和 UDP 中。

非常感谢

标签: c++socketstcpudp

解决方案


推荐阅读