setsockopt:设置socket属性
setsockopt:设置套接字属性:
套接字属性有三层:
1、socket.层(SOL SOCKET)
2、TCP层(IPPROTO TCP)
3、IP层(IPPROTO IP)
案例1:
案例2:
//允许多次绑定 int on = 1; //功能设置socket属性 //参数1:socket描述符 //参数2:修改哪个层的属性 // SOL_SOCKET:通用套接字选项、IPPROTO_IP:IP层、IPPROTO_TCP:TCP层 //参数3:指定要设置成什么 //参数4:获得或者是设置套接字选项。根据选项名称的数据类型进行转换 //参数5:参数4类型长度 setsockopt(skt, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(int));
案例3:
//加入组播组 struct ip_mreq mreq; bzero(&mreq,sizeof(mreq)); mreq.imr_multiaddr.s_addr = inet_addr("224.10.10.1"); mreq.imr_interface.s_addr = htonl(INADDR_ANY);//INADDR_ANY = 0x00000000 setsockopt(skt, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));