it-swarm.com.de

java.net.ConnectException: Verbindung zu /192.168.253.3 (Port 2468) konnte nicht hergestellt werden: Verbindung fehlgeschlagen: ECONNREFUSED (Verbindung abgelehnt)

Ich möchte einige Daten zwischen einem PC und einem Mobiltelefon mit WLAN übertragen, aber ich habe "Java.net.ConnectException: Verbindung zu /192.168.253.3 (Port 2468): Verbindung fehlgeschlagen: ECONNREFUSED (Verbindung abgelehnt)" beim Ausführen erhalten mein Android-Projekt.

So erhalte ich die WLAN-IP-Adresse:

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);

Dies ist der Code zum Senden einer Nachricht an den 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;
    }
}

Aber ein Fehler tritt auf, 

Java.net.ConnectException: failed to connect to /192.168.253.3 (port 2468): connect failed: ECONNREFUSED (Connection refused)

Außerdem benutze ich ein Android-Handy, um die App auszuführen.

16
Entel

"Verbindung fehlgeschlagen: ECONNREFUSED (Verbindung abgelehnt)" bedeutet höchstwahrscheinlich, dass an diesem Port UND dieser IP-Adresse nichts überwacht wird. Mögliche Erklärungen sind:

  • der Dienst ist abgestürzt oder wurde noch nicht gestartet.
  • ihr Client versucht, eine Verbindung mit der falschen IP-Adresse oder dem falschen Port herzustellen, oder
  • der Serverzugriff wird von einer Firewall blockiert, die im Auftrag des Servers/Dienstes "ablehnt". Dies ist ziemlich unwahrscheinlich, da die normale Praxis (heutzutage) bedeutet, dass Firewalls alle unerwünschten Verbindungsversuche "auslöschen".
13
Stephen C

Warum dies passiert sein könnte:

  1. Der Server konnte keine Antwort senden: Stellen Sie sicher, dass das Backend an der angegebenen IP-Adresse und dem angegebenen Port ordnungsgemäß funktioniert.
  2. SSL-Verbindungen werden blockiert: Korrigieren Sie dies, indem Sie SSL-Zertifikate importieren
  3. Cookies werden nicht gesendet
  4. Anforderungs-Timeout: Anforderungs-Timeout ändern 
4
Jaydev

Ein häufiger Fehler bei der Entwicklung einer Android-App, die auf einem virtuellen Gerät auf Ihrem Entwicklungscomputer ausgeführt wird, besteht darin, zu vergessen, dass das virtuelle Gerät nicht derselbe Host ist wie Ihr Entwicklungscomputer. Wenn Ihr Server auf Ihrem Dev-Computer ausgeführt wird, können Sie daher keine URL " http: // localhost/ ..." verwenden, da dies nach dem Server-Endpunkt auf dem virtuellen Gerät und nicht nach Ihrem Dev-Computer sucht.

3
Farrukh Najmi

Ich bekam auch das gleiche Problem. Ich versuchte mehrere IPs, wie meine öffentliche IP-Adresse und die Standard-IP-Adresse (localhost) in Windows und Standard-Gateway, aber dieselbe Antwort 

C:> ipconfig

ipconfig sage genau, was meine tatsächliche IP-Adresse des Adapters ist, mit dem ich verbunden bin, als ob ich mit dem Wifi-Adapter verbunden war. Meine IP-Adresse zeigt mir Folgendes an: 

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

Ich hoffe, dies wird dir helfen.

0
Osama Saeed

zuerst habe ich das Format "localhost: port" verwendet und diesen Fehler gefunden. Dann habe ich die Adresse in "ip: port" geändert und das Problem gelöst.

0
user5091911