본문으로 바로가기
COMMUNITY모든 이야기

C++ 서버 소켓 bind 시 Address already in use 에러 발생

빗방울 2026.10.30 20:59 2분 읽기 조회 3

서버 재시작 시 포트 바인딩 단계에서 오류 발생함.

코드:

#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>

int main() {
    int server_fd = socket(AF_INET, SOCK_STREAM, 0);
    sockaddr_in address;
    address.sin_family = AF_INET;
    address.sin_addr.s_addr = INADDR_ANY;
    address.sin_port = htons(8080);

    if (bind(server_fd, (struct sockaddr*)&address, sizeof(address)) < 0) {
        perror("bind failed");
        return -1;
    }
    return 0;
}

오류: bind failed: Address already in use

시도: 프로세스 종료 후 재실행, 포트 번호 변경.

질문: 서버 종료 후 바로 재시작할 때 이 에러를 안 뜨게 하려면 socket 옵션을 어떻게 설정해야 합니까?

모든 이야기1456

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1456개의 이야기
댓글