2010-05-19 41 views
2

我只想知道如何使用C自動分配一個空閒端口(並查看使用了什麼),如果沒有提供特定的端口號。C自動分配端口

例如,我使用這樣的:

struct sockaddr_in address; 
address->sin_family = AF_INET; 
address->sin_addr.s_addr = INADDR_ANY; 
address->sin_port = htons(port); 

但我怎麼能代替sin_port分配和設C自動分配給我嗎?

謝謝!

回答

4

Matt已經回答了「如何分配一個空閒端口」部分(使用sin_port = 0)。

要回答的第二部分,即「怎麼看使用的是什麼」,用getsockname()

+0

謝謝,這個完全回答了這個問題。 – Gary 2010-05-19 06:26:18

3

只需使用值0

​​

或者,如果您不關心使用哪個接口,則可以完全跳過綁定步驟。

+0

感謝這個 - 我似乎無法找到任何地方指出的0值會做到這一點。 – Gary 2010-05-19 06:27:14