2009-04-28 3 views
2

나는 일부 포트를 재사용 할 수 있도록하려면, 나는 다음 코드를 사용하여 내 소켓에 setsockopt를를 사용하고 있는데 그 이유는 다음과 같습니다windows의 setsockopt가 손상 되었습니까?

sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 

그러나이 정말 작동하지 않습니다. 나도 바인드 오류가 아니지만, 서버 소켓은 (는 시작하는 것 같다,하지만 난에 연결하려고하면, 그것은 선택 루프를 입력하지 않습니다) 응답하지 않습니다. 스크립트가 예기치 않게 종료 된 경우이 동작이 나타납니다. 서버가 수신 대기중인 포트를 변경하면 모든 것이 다시 작동합니다. 조언을 해줄 수 있습니까?

편집 : 나는 양말 할 수있는 소켓을 이름. 이 코드 스 니펫에서 선택한 이름이었습니다.

+0

소켓에서 setsockopt를 호출해야합니다. 그렇게하지 않아도됩니다. 당신은 섀도 잉 내장이 아니라고 확신합니까? – SilentGhost

+0

내가이 미리보기 위해 선택한 단지의 이름입니다. – Geo

+0

이 질문의 이름을 "Windows의 SO_REUSEADDR이 손상 되었습니까?" – paleozogt

답변

1

setsockopt 소켓 객체의 방법이다. 모듈 socketsetsockopt 속성이 없습니다.

+0

이 소켓 예제에서 소켓 객체의 이름을 지정했습니다. 내 코드에서, 이름은 "listening_sock"입니다. – Geo