2011-03-23 106 views
2

我有一个客户端尝试使用套接字s1连接到我的主服务器。客户端需要继续尝试使用s1连接到主服务器,但同时连接并继续向我的辅助服务器发送“尝试”消息。创建2个套接字,重用端口并为这2个套接字创建2个绑定是否是一个好主意,或者有更好的方法来实现这一点?这是一个客户端和使用C套接字。谢谢。从单个客户端套接字连接到多个服务器C

回答

5

如果您的程序是多个服务器的客户端,请为每个服务器使用一个套接字。根本不需要bind作为客户端套接字,只需要connect

+0

Thanks.Wasn不确定bind.Now每个服务器使用1个套接字。 – user629034 2011-03-23 07:38:23

1

我想你是使用TCP套接字(不是吗?)。所以需要一个用于连接的套接字。 然后重用端口并不那么重要,因为您的应用程序是一个客户端应用程序,它是启动连接的部分。任何出站端口应该都可以。

1

因为每个面向流的套接字只能调用connect(2)一次,所以您确实必须至少使用两个套接字进行两个同时连接(或连接尝试)。

您不需要bind(2)客户端端口上的任何东西,除了奇怪的情况。 (我正在考虑Sun RPC portmapper守护进程,但是幸运的是我已经关注了portmapper守护进程已经有近十年的时间了,在使用主机认证方法时,bind(2)也需要rlogin作为客户端,这太可怕了。)

相关问题