소켓에 타임아웃 옵션을 주기 위해서 SO_RCVTIMEO 를 지정하는데 유닉스에서는 timeval 구조체를 사용하지만 윈도우에서는 timeval 구조체의 tv_sec 가 초로 지정 되지 않는다. 아래와 같이 int 로 millisec 로 지정하자

		tv.tv_sec= 10;	// 대기시간 sec(대기시간은 늘릴 필요가 있음)
		tv.tv_usec = 0; // 대기시간 millisec

		dwTimeout = 10000;

#if defined (WIN32) || defined(_WIN64)
		setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (const char*)&dwTimeout, sizeof(dwTimeout));
		setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&dwTimeout, sizeof(dwTimeout));
#else
		setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (const char*)&tv, sizeof(tv));
		setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof(tv));
#endif