在套接字侦听器服务器之间建立连接

时间:2012-04-23 13:32:59

标签: c linux sockets

我有很多服务器在不同的计算机上运行,​​并监听其众所周知的IP地址和端口。 我想在服务器之间建立连接(首先尝试获胜)并根据众所周知的IPAddress / port对验证调用者。

我所遇到的问题是,我无法重复使用侦听器端口来启动新连接 - 因此无法进行此身份验证(即使连接套接字稍后可通过通信实例参数进行唯一标识)。 / p>

我想保持合作伙伴之间的对称性(没有像'master'协调节点那样)。 这个问题有解决方案吗?

[据我所知,SO_REUSEADDR不适用于此......]

更新: 我刚刚定义了一些包含IPAddress和端口号对的配置。我们的想法是使用这些对来建立连接。因此,具有配置的各方可以轻松检查传入连接。 后来我想将所有内容放在xinetd后面,让他验证传入的地址/端口组合。

内容: 事件如果理论上可以通过使用机器特定(IPAddress,端口)对建立网络,则不可能用等效的通信节点实现它(它们的“一半”必须是客户端,另一半是服务器)。 我对吗? [我们也可以讨论问题背后的动机,但这不是 问题]

1 个答案:

答案 0 :(得分:0)

我必须说依赖IP地址并不是真正的安全。但是,如果这是您选择做的,您可以执行以下操作之一

  • 使用UDP而不是TCP。您可以轻松地从同一端口发送/接收消息。
  • 使用一对TCP端口。一个用于发送,另一个用于接收。