
EventUtil::getLastSocketErrno는 소켓 오류를 반환하는 함수입니다. 이 함수는 마지막으로 발생한 소켓 오류를 반환합니다.
이 함수는 소켓 오류가 발생할 때 반환됩니다. 예를 들어, 소켓을 열기 위해 connect() 함수를 호출했을 때, 대상 서버가 없거나 소켓이 이미 연결된 경우 오류가 발생합니다. 이 경우 EventUtil::getLastSocketErrno 함수는 오류를 반환합니다.
EventUtil::getLastSocketErrno를 사용하여 소켓 오류를 처리하는 방법은 다음과 같습니다.
1. 오류 코드를 얻기 위해 EventUtil::getLastSocketErrno 함수를 호출합니다.
2. 얻은 오류 코드를 사용하여 오류를 처리합니다. 예를 들어, 오류 코드가 ECONNREFUSED (연결 거부)인 경우, 대상 서버가 없거나 소켓이 이미 연결된 경우로 처리할 수 있습니다.
예시 코드는 다음과 같습니다.
#hostingforum.kr
cpp
#include
#include
int main() {
// 소켓을 열기 위해 connect() 함수를 호출합니다.
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(8080);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
// 오류 코드를 얻기 위해 EventUtil::getLastSocketErrno 함수를 호출합니다.
int errno = EventUtil::getLastSocketErrno();
// 얻은 오류 코드를 사용하여 오류를 처리합니다.
if (errno == ECONNREFUSED) {
std::cout << "대상 서버가 없거나 소켓이 이미 연결된 경우입니다." << std::endl;
} else {
std::cout << "기타 오류입니다." << std::endl;
}
}
return 0;
}
참고 자료는 EventUtil 라이브러리의 공식 문서를 참고하시기 바랍니다.
2025-07-10 12:26