2017-08-06 3 views
0

ich folgende Fehler haben bei dem Versuch, auf localhost-Rechner verbinden:EngineIOException: xhr Umfrage Fehler in Android + Socket.io

I/Connection error: Connectio errorio.socket.engineio.client.EngineIOException: xhr poll error 

Mein Code:

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 

import org.json.JSONException; 
import org.json.JSONObject; 

import io.socket.client.IO; 
import io.socket.client.Manager; 
import io.socket.client.Socket; 
import io.socket.emitter.Emitter; 
import io.socket.engineio.client.Transport; 

public class LoiginActivity extends AppCompatActivity { 
    private Socket socket; 
    { 
     try { 
      socket = IO.socket("http://localhost:3000"); 

     } catch (URISyntaxException e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_loigin); 

     socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { 
      @Override 
      public void call(Object... args) { 

       Log.i(TAG,"connected"); 
      } 
     }); 
     socket.on(Socket.EVENT_CONNECT_ERROR, new Emitter.Listener() { 
      @Override 
      public void call(Object... args) { 
       Log.i(TAG, "Connectin error" + args[0]); 
      } 
     }); 

     socket.connect(); 


    } 
} 

Internet Zugriffsrechte eingerichtet werden. Using Socket.IO on android Always Returns XHR Poll Error hat mir nicht geholfen

+0

Es scheint, dass jemand anderes diese Frage hatte [hier] (https://stackoverflow.com/questions/37093221/using-socket-io-on-android-always-returns-xhr-poll-error) –

Antwort

0

Falls jemand dies durchmacht.

try { 
     socket = IO.socket("http://localhost:3000"); 

    } catch (URISyntaxException e) { 
     e.printStackTrace(); 
    } 

Das OP versucht, eine Verbindung zum localhost herzustellen. In diesem Fall bezieht sich localhost auf das Telefon selbst und wahrscheinlich ist der socket.io-Server nicht auf dem Telefon.

Um dies zu lösen, ändern Sie "http://localhost" mit der lokalen Netzwerk-IP-Adresse des Rechners (dh socket.io).

Verwandte Themen