
	                	                 
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