我只想知道如何使用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自動分配給我嗎?
謝謝!
我只想知道如何使用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自動分配給我嗎?
謝謝!
Matt已經回答了「如何分配一個空閒端口」部分(使用sin_port = 0)。
要回答的第二部分,即「怎麼看使用的是什麼」,用getsockname()
只需使用值0
。
或者,如果您不關心使用哪個接口,則可以完全跳過綁定步驟。
感謝這個 - 我似乎無法找到任何地方指出的0值會做到這一點。 – Gary 2010-05-19 06:27:14
謝謝,這個完全回答了這個問題。 – Gary 2010-05-19 06:26:18