C自动分配端口

时间:2010-05-19 03:33:47

标签: c networking

我只是想知道如果没有提供特定的端口号,如何使用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自动为我分配?

谢谢!

2 个答案:

答案 0 :(得分:5)

Matt已经回答了“如何分配自由端口”部分(使用sin_port = 0)。

要回答第二部分,即“如何查看使用的内容”,请使用getsockname()

答案 1 :(得分:3)

只需使用值0

address->sin_port = 0

或者,如果您不关心使用哪个界面,则可以完全跳过绑定步骤。