Solucione Java.Net.SocketException: Permiso denegado en Java
-
Causas del error
java.net.SocketException: Permiso denegado
en Java -
Solucione el error
java.net.SocketException: Permiso denegado
en Java
Este tutorial demuestra el error java.net.SocketException: Permiso denegado
en Java.
Causas del error java.net.SocketException: Permiso denegado
en Java
La SocketException
suele ocurrir cuando hay un problema con la conexión de red. Puede ser Permiso denegado
, Restablecer conexión
, o cualquier otra cosa.
El error java.net.SocketException: Permiso denegado
ocurre cuando no hay permiso de la red para conectarse con un determinado puerto. El error puede ocurrir al conectar o configurar los ajustes de red en diferentes plataformas.
El error java.net.SocketException: Permiso denegado
puede ocurrir en cualquier tipo de servidor como Tomcat u OpenShift.
Estas son las razones principales del error java.net.SocketException: Permiso denegado
:
- Cuando el sistema operativo no permite un número de puerto en particular.
- El antivirus o cortafuegos detiene la conexión a una determinada red.
- A veces, un problema con la versión anterior de Java.
Solucione el error java.net.SocketException: Permiso denegado
en Java
Por ejemplo, al configurar el certificado HTTPS para el servidor Tomcat, puede ocurrir el error java.net.SocketException: Permiso denegado
al iniciar el servidor:
Caused by: java.net.SocketException: Permission denied
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:438)
at sun.nio.ch.Net.bind(Net.java:430)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:221)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:223)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:587)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:1058)
... 13 more
El motivo de este error es que el sistema operativo está deteniendo la conexión. Debido a que el sistema Linux no permite que los usuarios que no sean root usen la raíz menos de 1024; por lo tanto, se convierte en un problema de permisos.
Ahora bien, las soluciones a este problema pueden ser:
- La mejor solución es usar la cuenta raíz para iniciar el servidor Tomcat.
- Si Linux no permite números de puerto inferiores a 1024, utilice un puerto superior a este número. El número de puerto se agregará a la solicitud de URL.
De manera similar, al usar el servidor openshift
, puede ocurrir el mismo error java.net.SocketException: Permiso denegado
. Y la razón podría ser que el firewall o el antivirus lo estén deteniendo o que la versión de Java que está utilizando no sea compatible.
La posible solución para esto puede ser:
-
Detenga el antivirus y el firewall. O comprueba que no estén bloqueando el servidor.
-
Use Java 8 o versiones superiores. O coloque los siguientes argumentos de VM en su aplicación para poder ejecutar y conectarse usando Java 7:
-Djava.net.preferIPv4Stack=true
-
Consulte las bibliotecas o paquetes de terceros si tienen algunos requisitos específicos. Algunos de ellos también causarán el error
java.net.SocketException: Permiso denegado
.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookArtículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase