xml-rpc 클라이언트 연결이 시작되어야하는 원본 포트 범위를 지정하는 쉬운 방법이 있습니까?python xmlrpc.client.ServerProxy - 로컬 포트 범위를 지정하는 방법
특정 소켓 (IP 및 포트 범위로 정의 됨)에서만 트래픽을 서버로 전달하는 클라이언트와 xml-rpc 서버 사이에 방화벽이 있다고 가정 해 보겠습니다.
기본값으로 xmlrpc.client.ServerProxy
을 사용하면 OS에서 어떤 로컬 포트를 사용할 것인지 결정할 수 있습니다. 결과적으로 각 xml-rpc 호출은 제한 시간이 만료 될 때까지 TIME_WAIT 상태로 유지되는 자체 소켓에서 시작된 서버에 대한 연결을 엽니 다. 창에 netstat -b
는 연결을 보여줍니다 :
C:\tmp>netstat -b | grep 51000
TCP ZIBI:51000 localhost:1552 TIME_WAIT 0
TCP ZIBI:51000 localhost:1562 TIME_WAIT 0
TCP ZIBI:51000 localhost:1561 TIME_WAIT 0
TCP ZIBI:51000 localhost:1553 TIME_WAIT 0
TCP ZIBI:51000 localhost:1559 TIME_WAIT 0
TCP ZIBI:51000 localhost:1558 TIME_WAIT 0
TCP ZIBI:51000 localhost:1557 TIME_WAIT 0
는 내가 달성하고자하는 서버의 RPC 메소드를 호출 할 때 xmlrpc.client.ServerProxy
사용하는 것입니다 (위의 예에서 15XX) 포트의 구성 범위입니다.
감사하지만 질문은 netstat 출력 필터링에 관한 것이 아닙니다. xml-rpc 서버와 통신 할 때 구성된 로컬 포트 범위를 사용하도록 ServerProxy 객체를 설정하는 것입니다. 아마도 사용자 정의 전송은 override 된 socket.bind() 함수로 정의되어야하지만 누군가 이미 그러한 옵션을 구현하기를 바랬습니다. –