struct timeval sock_timeout = {10,0};
int timeout_value;
int timeout_value_len = sizeof(timeout_value);
if(setsockopt(sock, SOL_SOCKET,SO_SNDTIMEO, (char *)&sock_timeout, sizeof(struct timeval)) < 0)
ErrLog("***Error: Fail to set SEND timeout for mcast sock %d", sock);
if(getsockopt(sock, SOL_SOCKET,SO_SNDTIMEO, (char *)&timeout_value, &timeout_value_len) < 0)
ErrLog("***Error: Fail to get SEND timeout for mcast sock %d", sock);
Log("SO_SNDTIMEO : %d", timeout_value);
if(setsockopt(sock, SOL_SOCKET,SO_RCVTIMEO, (char *)&sock_timeout,sizeof(struct timeval)) < 0)
ErrLog("***Error: Fail to set RECV timeout for mcast sock %d", sock);
if(getsockopt(sock, SOL_SOCKET,SO_RCVTIMEO, (char *)&timeout_value,&timeout_value_len) < 0)
ErrLog("***Error: Fail to get RECV timeout for mcast sock %d", sock);
Log("SO_RCVTIMEO : %d", timeout_value);