java - studio - wifi api android
java.net.ConnectException: no se pudo conectar a/192.168.253.3(puerto 2468): falla de conexión: ECONNREFUSED(conexión rechazada) (6)
Quiero transferir algunos datos entre la PC y un teléfono móvil con WiFi.
Así es como obtengo la dirección IP de WiFi:
String ip = String.format(
"%d.%d.%d.%d",
(wifiInfo.getIpAddress() & 0xff),
(wifiInfo.getIpAddress() >> 8 & 0xff),
(wifiInfo.getIpAddress() >> 16 & 0xff),
(wifiInfo.getIpAddress() >> 24 & 0xff));
new Recive().execute(ip);
Este es el código sobre el envío de un mensaje a la PC:
Socket socket = null;
String message = "test/r/n";
protected Void doInBackground(String... urls) {
try {
Log.i("ip", urls[0]);
socket = new Socket(urls[0], 2468);
toserver = new DataOutputStream(socket.getOutputStream());
toserver.writeBytes(message);
toserver.flush();
toserver.close();
socket.close();
return null;
} catch (Exception e) {
Log.i("e", e.toString());
return null;
}
}
Pero se produce un error,
java.net.ConnectException: no se pudo conectar a /192.168.253.3 (puerto 2468): falla de conexión: ECONNREFUSED (conexión rechazada)
Además, uso un teléfono Android para ejecutar la aplicación.
Por qué esto podría haber sucedido:
- El servidor no pudo enviar una respuesta: asegúrese de que el servidor esté funcionando correctamente en la IP y el puerto mencionados.
- Las conexiones SSL están siendo bloqueadas: solucione esto importando certificados SSL
- Cookies no enviadas
- Tiempo de espera de solicitud: Tiempo de espera de solicitud de cambio
Primero, utilicé el formato "localhost: port" para encontrar este error. Luego cambié la dirección al formato "ip: port" y el problema se resolvió.
También tuve el mismo problema. Probé varias IP, como mi IP pública y la IP 127.0.0.1 predeterminada de localhost en Windows y la puerta de enlace predeterminada, pero con la misma respuesta. pero me olvido de revisar por
C:> ipconfig
ipconfig diga claramente cuál es mi dirección IP real de ese adaptador con el que me he conectado como si estuviera conectado con un adaptador Wifi, mi dirección IP me mostrará como:
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::69fa:9475:431e:fad7%11
IPv4 Address. . . . . . . . . . . : 192.168.15.92
Espero que esto ayude.
Un error común durante el desarrollo de una aplicación de Android que se ejecuta en un dispositivo virtual en su máquina dev es olvidar que el dispositivo virtual no es el mismo host que su máquina dev. Por lo tanto, si su servidor se está ejecutando en su máquina dev, no puede usar una url " http://localhost/ ..." ya que buscará el punto final del servidor en el dispositivo virtual, no en su máquina dev.
Una "conexión fallida: ECONNREFUSED (conexión rechazada)" probablemente significa que no hay nada escuchando en ese puerto Y esa dirección IP. Las posibles explicaciones incluyen:
- el servicio se ha estrellado o no se ha iniciado,
- su cliente está intentando conectarse utilizando la dirección IP o el puerto incorrectos, o
- el acceso al servidor está siendo bloqueado por un firewall que se "niega" en nombre del servidor / servicio. Esto es bastante improbable, dado que la práctica normal (en estos días) es que los cortafuegos "bloqueen" todos los intentos de conexión no deseados.
puede convertir el dominio a una dirección IP porque cada dominio tiene una dirección IP específica, entonces resolverá ese problema. Espero que esto ayude.