2011-03-15 105 views
0

我有一个侦听特定端口(比如说60000)的服务器进程,而我的linux机器有两个ip地址(比如说ip1和ip2)。如何使用具有多个IP地址的服务器?

我可以以某种方式在我的Linux系统中启动两个进程,使得处理1可以接收发送到IP1的所有数据包:60000和进程2可以接收发送到IP2的所有数据包:60000。

谢谢,

回答

1

是的。您需要在指定监听IP地址的监听套接字上使用bind系统调用,而不是(更常用的)INADDR_ANY。 [参考文献1]

然后,在第二工序中使用在一个过程中的一个IP地址,一个IP地址。两者将能够共享相同的侦听端口。


参考文献:

  1. http://www.scottklement.com/rpg/socktut/bindapi.html