我试图理解一个多播代码,我不明白一小部分的实用程序:
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
.
对于UDP套接字,设置该SO_REUSEADDR
选项允许在同一端口上打开多个套接字.
如果这些套接字也加入了组播组,则进入该组和端口的任何组播数据包将被传递到该端口上打开的所有套接字.