본문 바로가기
프로그램 개발/리눅스

리눅스 bind error

by 코딩히어로 2020. 4. 7.

리눅스 프로그래밍을 하다보면 컴파일 완료한 파일을 실행시킬 때

 

간혹 bind error를 접하는 경우가 있다.

 

도대체 bind error 라는 놈은 왜 무엇때문에 발생하는 것인가??

 

기본적으로 이 에러는 해당 프로그램 소켓으로 연결이 실패할때 발생한다.

 

정말 간단하게 그림으로 설명하면 서버 프로그램에서 대상이 되는 소켓에

 

bind를 요청하면 정상적으로 연결이 맺어지게 된다.

 

하지만 연결을 끊고 바로 bind 요청을 하면 우리가 흔하게 볼 수 있는 bind error를 만나게 된다.

 

구조로 들어가면 너무 복잡한 이야기이므로 간단하게 이렇게 알아두자.

 

즉 프로그램 또한 bind와 해제에 소켓을 닫고 여는 등의 소요 시간이 필요한데

 

연결이 해제되는데 소요되는 시간 안에 재 bind 요청이 들어오면 서버에서는 이렇게 bind error를

 

통해서 아직 이전 작업이 완료되지 않았다는 것을 표시하게 된다.

 

간단하게 bind error시에는 1~5분사이의 틈을 두고 재 연결 요청을 하면 깔끔하게 연결된다.

 

댓글