저는 라즈베리 파이가 파이썬 asyncore 서버를 호스팅하는 프로젝트에서 일하고 있습니다. 그리고 약간의 arduino가 LAN을 통해 연결합니다. 우리는 서버에 거의 버그가 없지만 뭔가 잘못되어 서버가 중단되면 서버를 다시 시작할 때 주소가 사용 중임을 나타냅니다. 주소가 사용 중이면 주소가 설정 될 때까지 다시 시도하지만 꽤 오랜 시간이 걸릴 수 있도록 코드를 작성했습니다.사용 시간에 소켓 주소를 줄일 수 있습니까?
이제 Linux에서 주소를 설정하기 전에 시간을 편집 할 수 있다고 들었습니다. 예를 들어, 내 맥북에서 소켓 주소는 10 초 후에 무료로 설정됩니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
우리는 이미 그렇게하지만 일이 항상 일어날 수있는 잘못 수행 할 때, 우리는 가능한 한 빨리 백업 서버를 얻을 수 있어야합니다. 귀하의 답변 주셔서 감사합니다, 그것은 전체 코드를 제외하고 시도하고 예외가 우리가 먼저 소켓을 그런 식으로 닫은 다음 서버를 다시 시작 제외하고 사용할 수 있습니다. – Jurze
또한 'socket.shutdown()'은 적시에 연결을 닫는다고 반드시 의미하지는 않습니다. – Jurze
"빨리 서버를 백업하십시오."라는 것이 무슨 뜻인지 모르겠지만, 아마도 http://man7.org/linux/man-pages/man7/socket.7.html 소켓의 사람을 읽고 다음을 살펴보십시오. SO_REUSEADDR SO_REUSEPORT SO_RCVTIMEO 및 SO_SNDTIMEO – bluszcz