Cuando un cliente Smack y un servidor XMPP se ejecutan en la misma máquina de desarrollo, sus servicios bytestream necesitan una titularidad local del puerto deliberada. El fallo «Address already in use» se produce al abrir el receptor local, antes de un intento de transferencia de archivos remota.

El puerto SOCKS5 local predeterminado documentado de Smack es 7777. Compruebe qué proceso posee ya la dirección y el puerto previstos. Si se trata de un proxy del lado del servidor que otros clientes aún necesitan, reserve otro puerto para el cliente en lugar de desactivar el servicio del servidor.

La API Socks5Proxy documentada tiene setLocalSocks5ProxyPort(int). Un valor negativo solicita una búsqueda que comienza en su valor absoluto y continúa hacia arriba. Lea el puerto de escucha real cuando se permita esa selección y configúrelo antes de iniciar el receptor.

El puerto que anuncia el cliente debe seguir siendo accesible para el participante que se espera que se conecte. Elegir un puerto sin usar corrige la titularidad; no publica una ruta a través de NAT ni de un cortafuegos.

Artículos relacionados