5 Stimmen

ServerSocket nimmt nicht auf dem Android-Emulator an

Ich versuche, eine grundlegende Netzwerkverbindung mit den Droid-Emulatoren und Eclipse einzurichten, aber ich habe Probleme. Der Server erreicht die Zeile "Socket s = ss.accept();" und wartet darauf, dass der Client sich verbindet, aber der Client scheint keine Verbindung herstellen zu können.

Jetzt konnte ich meinen Client mit einem Python-Server verbinden, den ich erstellt habe und der dasselbe tut wie der Server, den ich für den Droid erstellt habe. Ich habe die Internetverwendung sowohl im Client als auch im Server im AndroidManifest erlaubt, daher verstehe ich nicht, warum dieser Server nicht auf meinem Droid-Emulator funktioniert.

Server:

       ServerSocket ss = new ServerSocket(8888);
            while(!end){
                    Socket s = ss.accept();
                    Log.v("Server","Verbindung gefunden");
                    BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
                    PrintWriter output = new PrintWriter(s.getOutputStream(),true); 
                    String st = input.readLine();

Client:

        Socket s = new Socket(MEINEIPADRESSE,8888);

        BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));

Jede Hilfe wäre sehr dankbar.

1voto

Cruceo Punkte 6676

Nur um Lukas Antwort zu ergänzen, da Sie wahrscheinlich in Zukunft auf Probleme stoßen werden:

Wenn Sie Sockets verwenden, möchten Sie möglicherweise eine Bibliothek verwenden, um bei all der Wartung zu helfen, die wirklich für eine stabile Verbindung erforderlich ist.

Eine gute Bibliothek zur Behandlung der Verbindung wäre: https://github.com/koush/android-websockets

Es hält die Verbindung aufrecht und ist ziemlich einfach anzupassen, um Ihren Sendeanforderungen zu entsprechen. Das Einzige, was fehlt, ist eine Rückruffunktion, um mit eingehenden Daten umzugehen, aber das wäre viel einfacher zu implementieren als etwas komplett Neues aufzusetzen, um die gesamte Verbindung zu behandeln.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X