
소켓 타임아웃을 초기화하는 방법은 두 가지가 있습니다.
1. 소켓을 닫고 다시 열기: 소켓 타임아웃을 초기화하려면 소켓을 닫고 다시 열어야 합니다. 소켓을 닫기 위해 `close()` 함수를 사용하고, 다시 열기 위해 `socket()` 함수를 사용합니다.
#hostingforum.kr
c
// 이전에 설정된 타임아웃 초기화
close(sock);
sock = socket(AF_INET, SOCK_STREAM, 0);
2. 소켓 옵션을 변경하기: 소켓 옵션을 변경하여 타임아웃을 초기화할 수 있습니다. `setsockopt()` 함수를 사용하여 SO_RCVTIMEO 및 SO_SNDTIMEO 옵션을 변경하여 타임아웃을 초기화할 수 있습니다.
#hostingforum.kr
c
// 이전에 설정된 타임아웃 초기화
struct timeval timeout;
timeout.tv_sec = 0;
timeout.tv_usec = 0;
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&timeout, sizeof(timeout));
setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (const char*)&timeout, sizeof(timeout));
위의 방법 중 하나를 사용하여 소켓 타임아웃을 초기화할 수 있습니다.
2025-04-15 11:21