에러 - bind(): Address already in use
1137
53 asked
안녕하세요. 서버를 1번실행하고 다시 실행하면 아래와 같은 에러가 발생합니다. 어떻게 처리해야 하나요?
bind(): Address already in use
오류가 발생할때 마다 sock_stream_un 파일을 삭제하면 서버를 다시 실행가능합니다만, 다른 방법은 없는지 답변 부탁드립니다.
Answer 1
0
이 에러는 소켓이 TCP state machine에 의해 아직 완벽하게 종료되지 않은 상태에서 해당 소켓을 다시 사용하려 할 때 발생하는 에러입니다. 말씀하신 것처럼 소켓파일을 삭제하는 방법이 있고, setsockopt()를 사용하는 방법이 있습니다. socket option 중 SO_REUSEADDR을 사용하시면 완벽하게 종료되지 않은 상태의 소켓을 다시 바인드할 수 있게 됩니다.
답변이 너무 늦어져 너무 죄송합니다..ㅠㅠ
fork() 후 address
0
40
2
bind(): Address already in use
0
59
2
POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법
0
215
2
강의 순서
0
262
1
강의자료 질문
0
243
1
수업 관련 질문
0
354
3
안녕하세요! 메세지 큐 방식에 대해 질문있습니다.
0
268
1
리눅스는 디버깅이 없나요?
1
722
1
fcntl 에서 Read/Write 기능
1
354
1
시스템 프로그래밍 향후 공부
1
507
1
Shared Memory와 동기화 관련
1
1182
1
거의 모든 함수를 static 선언하시는 이유는 무엇인가요?
1
2327
1
SHM_REMAP
1
317
2
recvfrom 질문
1
715
6
컴파일 질문입니다
1
675
1
partial send/recv에 관하여
1
670
1
스레드끼리의 통신에도 적용가능한가요?
1
375
1
File Lock API - 정리 table에서 multi-thread 사용가능시....
1
412
1
WSL Ubuntu에서 메시지 큐
1
464
1
shared memory(14강) live programming file mapping 에 관한 질문입니다.
1
204
1
POSIX MQ의 설정 문의
1
603
2
accept 함수에 대한 문의
1
294
1
datagram socket 구현시 recvfrom에서 블록킹됩니다.
1
1506
1
counting semaphore에 대해서 질문이 있습니다
0
307
3

