socklen_t optlen = sizeof(struct timeval);
struct timeval tv;
tv.tv_sec = 10;
tv.tv_usec = 0;
getsockopt(socketfd, SOL_SOCKET,SO_SNDTIMEO, &tv, &optlen);
socklen_t optlen = sizeof(struct timeval);
struct timeval tv;
tv.tv_sec = 10800;
tv.tv_usec = 0;
setsockopt(socketfd, SOL_SOCKET, SO_RCVTIMEO, &tv, optlen);