Open
Description
I am creating an android app with auth and I send data to authorize on my Socket.io Server. I can send the data and handle it on my server just fine, but the server response is where I am getting an error. My server responds with something like this:
socket.emit("authUser-res", 'invalid_credentials', '_error');
I can listen to the event on the client and read the first parameter just fine, but when I try to read the second one, I get a java.lang.ArrayIndexOutOfBoundsException
error. My java event-listener on the client:
client.on("authUser-res", new Emitter.Listener() {
public void call(Object... res) {
String message = (String) res[0];
String userName = (String) res[1];
authUserServerResponse(message, userName);
}
});
When reading res[1]
, I get this full error:
2021-10-24 15:04:38.412 30240-30416/com.humanfriend22.testpackage E/EventThread: Task threw exception
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.humanfriend22.testpackage.OnloadAuthActivity$2.call(OnloadAuthActivity.java:92)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.client.Socket.onevent(Socket.java:318)
at io.socket.client.Socket.onpacket(Socket.java:269)
at io.socket.client.Socket.access$100(Socket.java:18)
at io.socket.client.Socket$2$2.call(Socket.java:88)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.client.Manager.ondecoded(Manager.java:368)
at io.socket.client.Manager.access$1300(Manager.java:22)
at io.socket.client.Manager$5.call(Manager.java:346)
at io.socket.parser.IOParser$Decoder.add(IOParser.java:101)
at io.socket.client.Manager.ondata(Manager.java:353)
at io.socket.client.Manager.access$900(Manager.java:22)
at io.socket.client.Manager$2.call(Manager.java:325)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.engineio.client.Socket.onPacket(Socket.java:558)
at io.socket.engineio.client.Socket.access$1000(Socket.java:36)
at io.socket.engineio.client.Socket$5.call(Socket.java:337)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.engineio.client.Transport.onPacket(Transport.java:124)
at io.socket.engineio.client.Transport.onData(Transport.java:116)
at io.socket.engineio.client.transports.WebSocket.access$100(WebSocket.java:23)
at io.socket.engineio.client.transports.WebSocket$1$2.run(WebSocket.java:73)
at io.socket.thread.EventThread$2.run(EventThread.java:80)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
2021-10-24 15:04:38.417 30240-30416/com.humanfriend22.testpackage E/AndroidRuntime: FATAL EXCEPTION: EventThread
Process: com.humanfriend22.testpackage, PID: 30240
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.humanfriend22.testpackage.OnloadAuthActivity$2.call(OnloadAuthActivity.java:92)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.client.Socket.onevent(Socket.java:318)
at io.socket.client.Socket.onpacket(Socket.java:269)
at io.socket.client.Socket.access$100(Socket.java:18)
at io.socket.client.Socket$2$2.call(Socket.java:88)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.client.Manager.ondecoded(Manager.java:368)
at io.socket.client.Manager.access$1300(Manager.java:22)
at io.socket.client.Manager$5.call(Manager.java:346)
at io.socket.parser.IOParser$Decoder.add(IOParser.java:101)
at io.socket.client.Manager.ondata(Manager.java:353)
at io.socket.client.Manager.access$900(Manager.java:22)
at io.socket.client.Manager$2.call(Manager.java:325)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.engineio.client.Socket.onPacket(Socket.java:558)
at io.socket.engineio.client.Socket.access$1000(Socket.java:36)
at io.socket.engineio.client.Socket$5.call(Socket.java:337)
at io.socket.emitter.Emitter.emit(Emitter.java:117)
at io.socket.engineio.client.Transport.onPacket(Transport.java:124)
at io.socket.engineio.client.Transport.onData(Transport.java:116)
at io.socket.engineio.client.transports.WebSocket.access$100(WebSocket.java:23)
at io.socket.engineio.client.transports.WebSocket$1$2.run(WebSocket.java:73)
at io.socket.thread.EventThread$2.run(EventThread.java:80)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Please Help, I need two parameters for my app to function the planned way.
Thank you in advance.