작성
·
932
1
안녕하세요. 서버를 1번실행하고 다시 실행하면 아래와 같은 에러가 발생합니다. 어떻게 처리해야 하나요?
bind(): Address already in use
오류가 발생할때 마다 sock_stream_un 파일을 삭제하면 서버를 다시 실행가능합니다만, 다른 방법은 없는지 답변 부탁드립니다.
답변 1
0
이 에러는 소켓이 TCP state machine에 의해 아직 완벽하게 종료되지 않은 상태에서 해당 소켓을 다시 사용하려 할 때 발생하는 에러입니다. 말씀하신 것처럼 소켓파일을 삭제하는 방법이 있고, setsockopt()를 사용하는 방법이 있습니다. socket option 중 SO_REUSEADDR을 사용하시면 완벽하게 종료되지 않은 상태의 소켓을 다시 바인드할 수 있게 됩니다.
답변이 너무 늦어져 너무 죄송합니다..ㅠㅠ