Smack의 로컬 bytestream 프록시를 위한 포트 예약
Smack 클라이언트가 XMPP 프록시 서비스와 개발 머신을 공유할 때 로컬 SOCKS5 수신 포트를 선택합니다.
Smack 클라이언트와 XMPP 서버가 같은 개발 머신에서 실행되면, 두 서비스의 bytestream 서비스는 의도적인 로컬 포트 소유가 필요합니다. “Address already in use” 실패는 원격 파일 전송을 시도하기 전에 로컬 리스너를 열 때 발생합니다.
Smack의 문서화된 기본 로컬 SOCKS5 포트는 7777입니다. 원하는 주소와 포트를 이미 점유한 프로세스가 무엇인지 확인하세요. 그것이 다른 클라이언트가 여전히 필요로 하는 서버 측 프록시라면, 서버 서비스를 비활성화하는 대신 클라이언트용으로 다른 포트를 예약하세요.
문서화된 Socks5Proxy API에는 setLocalSocks5ProxyPort(int)가 있습니다. 음수 값은 절댓값부터 시작하여 위로 계속되는 검색을 요청합니다. 그 선택이 허용될 때 실제 수신 포트를 읽고, 리스너를 시작하기 전에 설정하세요.
클라이언트가 알리는 포트는 연결할 것으로 예상되는 상대방이 접근할 수 있어야 합니다. 사용하지 않는 포트를 선택하면 소유권 문제가 해결되지만, NAT나 방화벽을 통과하는 경로를 게시하지는 않습니다.