나는 SO_REUSEADDR
을 사용하여 소켓이 이미 사용 중이라는 불평없이 다시 시작된 서버를 가지고 있습니다. SO_REUSEADDR
의 다른 용도가 있는지 궁금 해서요? 상기 목적 이외의 목적으로 소켓 옵션을 사용한 사람이 있습니까?SO_REUSEADDR의 용도는 무엇입니까?
13
A
답변
20
TCP의 경우 : 주된 목적은 동일한 주소에서 폐쇄/종료 프로세스를 다시 시작하는 것입니다.
모든 데이터가 전송되도록 포트가 TIME_WAIT 상태가되기 때문에 플래그가 필요합니다.
두 개의 소켓이 동일한 인터페이스와 포트에 바인딩되어 있고 동일한 멀티 캐스트 그룹의 구성원 인 경우 데이터가 두 소켓에 전달됩니다.
데이터를 가로 채기 위해 보안 공격을 사용하는 것이 좋습니다.
(Source) UDP 용
: SO_REUSEADDR는 임) (둘 이상의 프로세스가 동일한 SOCK_DGRAM UDP 포트 경우 바인드 결합 수 캐스트
에 사용 앞에 :
int one = 1; setsockopt를 (양말 SOL_SOCKET, SO_REUSEADDR, & 하나 를 sizeof (일)) 이때
는 로 향하는 모든 들어오는 캐스트 또는 브로드 캐스트 UDP 데이터 그램은 공유 포트는 포트에 바인딩 된 모든 소켓에 전달 .
(Source)
5
다른 주요 용도는 UDP의 동일한 포트 bind()
여러 소켓을 허용하는 것이다. 그럴 것이라고 생각하지 않을 수도 있지만 때로는 여러 개의 앱이 주어진 포트 번호로 브로드 캐스트/멀티 캐스트 주소로 수신하기를 원할 수도 있습니다. 또한 특정 주소에 바인딩하는 동안 와일드 카드 주소에 바인드 할 수 있습니다. 예를 들어, Apache는 * : 80 및 10.11.12.13:80에 바인딩 할 수 있습니다.
관련 문제
- 1. raisePropertyChanged 이벤트의 용도는 무엇입니까?
- 2. 인터페이스에서 속성의 용도는 무엇입니까?
- 3. 이 입력란의 용도는 무엇입니까?
- 4. _fread_nolock, _fseek_nolock의 용도는 무엇입니까?
- 5. 크로스 가입의 용도는 무엇입니까?
- 6. $$ jQuery에서이 용도는 무엇입니까?
- 7. 원자 방법의 용도는 무엇입니까?
- 8. Ackermann 함수의 용도는 무엇입니까?
- 9. 투명의 용도는 무엇입니까?
- 10. Silverlight.js 파일의 용도는 무엇입니까?
- 11. JavaFX 스크립트의 용도는 무엇입니까?
- 12. Joomla의 용도는 무엇입니까?
- 13. 코드의 용도는 무엇입니까?
- 14. TelephoneNumberUtil 클래스의 용도는 무엇입니까?
- 15. System.Transactions의 실용적인 용도는 무엇입니까?
- 16. 9patch PNG의 용도는 무엇입니까?
- 17. MarshalByRefObject의 주요 용도는 무엇입니까?
- 18. jbossall-client.jar의 용도는 무엇입니까?
- 19. aligned_storage의 기본 용도는 무엇입니까?
- 20. * .pro 파일의 용도는 무엇입니까?
- 21. Log4j API의 용도는 무엇입니까?
- 22. mongo.lock 파일의 용도는 무엇입니까?
- 23. feholdexcept 등의 용도는 무엇입니까?
- 24. .DDF 파일의 용도는 무엇입니까?
- 25. SPHttpUtility.NoEncode 메서드의 용도는 무엇입니까?
- 26. 커밋 메시지의 용도는 무엇입니까?
- 27. synchronized 키워드의 용도는 무엇입니까?
- 28. JavaScript의 용도는 무엇입니까?
- 29. 메이크 파일의 용도는 무엇입니까?
- 30. Lucene의 용도는 무엇입니까?
감사합니다. 정확하게 똑같은 것이 궁금합니다. 관련 질문 : SO_REUSEADDR이 기본값이 아닌 이유는 무엇입니까? –