我只是想知道如果没有提供特定的端口号,如何使用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自动为我分配?
谢谢!
答案 0 :(得分:5)
Matt已经回答了“如何分配自由端口”部分(使用sin_port = 0)。
要回答第二部分,即“如何查看使用的内容”,请使用getsockname()
答案 1 :(得分:3)
只需使用值0
。
address->sin_port = 0
或者,如果您不关心使用哪个界面,则可以完全跳过绑定步骤。