2016-11-13 59 views
3

我试着去了解多播代码,我不明白一小部分的工具:C API插座SO_REUSEADDR

int fd_socket = socket(AF_INET, SOCK_DGRAM, 0); 
u_int yes = 1; 

setsockopt(fd_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)); 

我不明白setsockopt函数的实用程序。我明白,这个函数允许修改内核中的套接字,并且SOL_SOCKET是因为我的修改是关于套接字的级别而不是协议的级别。我不明白SO_REUSEADDR

回答

5

对于UDP套接字,设置SO_REUSEADDR选项允许在同一端口上打开多个套接字。

如果这些套接字也加入到组播组,则任何进入该组和端口的组播包将被传递到该端口上打开的所有套接字。

+0

谢谢你的回答! – wammder