socket.io-android-chat icon indicating copy to clipboard operation
socket.io-android-chat copied to clipboard

io.socket.engineio.client.EngineIOException: server error

Open sathishkumar018 opened this issue 9 years ago • 7 comments

try { IO.Options options = new IO.Options(); options.query = "cookie=" + session + "&propname=sathish"; mSocket = IO.socket(AppController.URL, options); app.setSocket(mSocket); } catch (URISyntaxException e) { throw new RuntimeException(e); }

i am getting the error at connection stating that io.socket.engineio.client.EngineIOException: server error

below is complete code

import android.os.Bundle; import android.os.Message; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import android.widget.Toast;

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

import java.util.ArrayList; import java.util.List;

import io.socket.client.Socket; import io.socket.emitter.Emitter;

public class MainActivity extends AppCompatActivity {

private Socket mSocket;
private List<Message> mMessages = new ArrayList<Message>();
TextView response;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    response = (TextView) findViewById(R.id.response);

    AppController app = (AppController) getApplication();
    mSocket = app.getSocket();
    mSocket.on(Socket.EVENT_CONNECT_ERROR, onConnectError);
    mSocket.on(Socket.EVENT_CONNECT_TIMEOUT, onConnectError);
    mSocket.on("connect", onConncet);
    mSocket.on("message", onNewMessage);
    mSocket.connect();

}

private Emitter.Listener onConnectError = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                String str = args[0].toString();
                Log.d("see--->>", str);
                Toast.makeText(MainActivity.this, "Error Connection" + str, Toast.LENGTH_LONG).show();
            }
        });
    }
};

private Emitter.Listener onNewMessage = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                JSONObject data = (JSONObject) args[0];
                try {
                    Log.d("response from servaer", data.toString());
                    addLog(data.toString());
                    Toast.makeText(MainActivity.this, "Message" + data.toString(), Toast.LENGTH_LONG).show();
                    data.getString("");
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }
        });
    }
};

private Emitter.Listener onConncet = new Emitter.Listener() {
    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Log.d("Connect To servaer", "Connection Suicessfull");
                Toast.makeText(MainActivity.this, "Connection Successfull", Toast.LENGTH_LONG).show();
            }
        });
    }
};

private void addLog(String message) {
    response.setText(message);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mSocket.disconnect();
    mSocket.off(Socket.EVENT_CONNECT_ERROR, onConnectError);
    mSocket.off(Socket.EVENT_CONNECT_TIMEOUT, onConnectError);
    mSocket.off("new message", onNewMessage);
}

}

sathishkumar018 avatar Mar 11 '16 09:03 sathishkumar018

I am also getting same error on https://

rizwan-sohaib-kinnect2 avatar Apr 07 '16 15:04 rizwan-sohaib-kinnect2

Any solution to this??

rizwan-sohaib-kinnect2 avatar Apr 07 '16 15:04 rizwan-sohaib-kinnect2

Any solution to this??

yaochaoyang avatar Sep 08 '16 14:09 yaochaoyang

Any solution to this????????????????????????????

ghost avatar Nov 17 '17 07:11 ghost

Any solution to this??

steel-pot avatar Jul 10 '18 11:07 steel-pot

Probably because there is no websocket package

steel-pot avatar Jul 10 '18 13:07 steel-pot

Same here.. using socket.io server of latest version (2.2.0) with express latest version (4.16.4) and this java library of latest version (0.3.0). Not sure where the problem is..

The code of my server is:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function (socket) {
  
  console.log('connected!', socket.id);
  socket.join('cobra'); // Join cobra group.
  
  socket.on('message', function (data) {
		console.log('message', data);
		socket.broadcast.to('cobra').emit('message', data);
  });

  socket.on('disconnect', function () {
    console.log('disconnected!', socket.id);
    socket.leave('cobra');
  });
  
});

http.listen(process.env.PORT || 3000, process.env.IP || "0.0.0.0", function(){
  var addr = http.address();
  console.log("Server listening at", addr.address + ":" + addr.port);
});

Just in case it helps somehow. Using this server from a webpage works perfectly, but while connecting with this java library I got this exception:

com.github.nkzawa.engineio.client.EngineIOException: server error
     at com.github.nkzawa.engineio.client.Socket.onPacket(Socket.java:478)
     at com.github.nkzawa.engineio.client.Socket.access$800(Socket.java:29)
     at com.github.nkzawa.engineio.client.Socket$5.call(Socket.java:285)
     at com.github.nkzawa.emitter.Emitter.emit(Emitter.java:117)
     at com.github.nkzawa.engineio.client.Transport.onPacket(Transport.java:121)
     at com.github.nkzawa.engineio.client.transports.Polling.access$700(Polling.java:15)
     at com.github.nkzawa.engineio.client.transports.Polling$2.call(Polling.java:122)
     at com.github.nkzawa.engineio.parser.Parser.decodePayload(Parser.java:169)
     at com.github.nkzawa.engineio.client.transports.Polling._onData(Polling.java:130)
     at com.github.nkzawa.engineio.client.transports.Polling.onData(Polling.java:99)
     at com.github.nkzawa.engineio.client.transports.PollingXHR$5$1.run(PollingXHR.java:111)
     at com.github.nkzawa.thread.EventThread$2.run(EventThread.java:75)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
     at java.lang.Thread.run(Thread.java:818)

forlayo avatar Dec 10 '18 11:12 forlayo