2011-03-15 104 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