Ich versuche, eine Verbindung zu Java (Server) von Android-Handy (Client). Server Code:Client-Server-Anwendung: kann keine Verbindung zu Java-Server von Android-Handy
import java.net.*;
/**
* Created by mwalko on 07.06.16.
*/
public class Main {
public static void main(String[] args)
{
try
{
ServerSocket sock = new ServerSocket (8601);
for (;;)
{
Socket newsock = sock.accept();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Dann kann ich mit ihm von cURL sprechen:
curl localhost:8601
Hello :: enter QUIT to exit
From server: GET/HTTP/1.1.
From server: Host: localhost:8601.
From server: User-Agent: curl/7.47.0.
From server: Accept: */*.
From server: .
Aber wenn ich versuche von Android zu verbinden, die auf diesem Code funktioniert (Ich habe auch <uses-permission android:name="android.permission.INTERNET" />
zu AndroidManifest.xml) :
new Thread() {
@Override
public void run() {
try {
Socket s = new Socket("192.168.1.102", 6000);
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
ich einen Fehler:
06-07 20:09:03.530 7319-7319/com.example.root.client E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.root.client, PID: 7319
06-07 21:45:20.990 25482-25520/com.example.root.client W/System.err: java.net.ConnectException: failed to connect to /192.168.1.102 (port 6000): connect failed: ECONNREFUSED (Connection refused)
Ich kann 192.168.1.101 vom Telefon pingen. Warum kann ich keine Verbindung zum Server herstellen? Gibt es Fehler?
Ja, das stimmt, was Sie geschrieben haben, aber es ist Bearbeitungsproblem. Ich versuchte beide Port (6000 und 8601) zu hören und zu verbinden, ich meine, ich habe Port 6000 in Client und 6000 auf Server dann beide auf 8601 geändert. Ich bin sicher, dass es ein Problem mit blockierten Ports oder etwas auf dem Router ist. Guter Beitrag sowieso! PS Ich ping 192.168.1.102 (Computer IP), mein Fehler – Michu93