javascriptreactjswebsocketsocket.ionetty-socketio

SockIO connection erorr with ambigous message


When trying to connect my react forntend with netty-websocket example, I'm presented with this error from sock.io client:

{ 
  message: 'server error', 
  name: 'Error' 
}

Yeah, no kidding. Their frontend is running just fine when served using npx serve. I'm using sock.io-client version 4.1.2. I've tried changing the connection url, but it doesn't fix anything.

Here's my frontend code:

const url = `http://${socketUrl}/chat`;

export const initWebsocketConnection = () => {
   console.log(io)
   const socket = io('localhost:9092/chat');
   socket.on('connect', function () {
       console.log('<span class="connect-msg">The client has connected with the server.');
   });
   socket.on('chat', function (data) {
     console.log('Received message', data);
     console.log('<span class="username-msg">' + data.userName + ':</span> ' + data.message);
   });
   socket.on('disconnect', function () {
     console.log('<span class="disconnect-msg">The client has disconnected!</span>');
   });
   socket.on('reconnect_attempt', (attempts) => {
     console.log('Try to reconnect at ' + attempts + ' attempt(s).');
   });
   socket.on("connect_error", (reason) => {
     console.log(reason.message, reason.name, )
   });
}

Java server doesnt log anything. Stack trace in my browser is this:

    onPacket@http://localhost:3000/static/js/vendors~main.chunk.js:19409:23
./node_modules/component-emitter/index.js/Emitter.prototype.emit@http://localhost:3000/static/js/vendors~main.chunk.js:17691:20
onPacket@http://localhost:3000/static/js/vendors~main.chunk.js:19817:10
callback@http://localhost:3000/static/js/vendors~main.chunk.js:20563:12
onData@http://localhost:3000/static/js/vendors~main.chunk.js:20567:56
./node_modules/component-emitter/index.js/Emitter.prototype.emit@http://localhost:3000/static/js/vendors~main.chunk.js:17691:20
onData@http://localhost:3000/static/js/vendors~main.chunk.js:20338:10
onLoad@http://localhost:3000/static/js/vendors~main.chunk.js:20394:12
create/xhr.onreadystatechange@http://localhost:3000/static/js/vendors~main.chunk.js:20291:18
EventHandlerNonNull*create@http://localhost:3000/static/js/vendors~main.chunk.js:20287:9
Request@http://localhost:3000/static/js/vendors~main.chunk.js:20228:10
request@http://localhost:3000/static/js/vendors~main.chunk.js:20174:12
doPoll@http://localhost:3000/static/js/vendors~main.chunk.js:20204:22
poll@http://localhost:3000/static/js/vendors~main.chunk.js:20537:10
doOpen@http://localhost:3000/static/js/vendors~main.chunk.js:20484:10
open@http://localhost:3000/static/js/vendors~main.chunk.js:19751:12
open@http://localhost:3000/static/js/vendors~main.chunk.js:19226:15
Socket@http://localhost:3000/static/js/vendors~main.chunk.js:19163:10
./node_modules/engine.io-client/lib/index.js/module.exports@http://localhost:3000/static/js/vendors~main.chunk.js:19037:33
open@http://localhost:3000/static/js/vendors~main.chunk.js:75157:19
reconnect/timer<@http://localhost:3000/static/js/vendors~main.chunk.js:75426:14
setTimeout handler*reconnect@http://localhost:3000/static/js/vendors~main.chunk.js:75420:31
maybeReconnectOnOpen@http://localhost:3000/static/js/vendors~main.chunk.js:75141:12
open/errorSub<@http://localhost:3000/static/js/vendors~main.chunk.js:75178:14
./node_modules/component-emitter/index.js/Emitter.prototype.emit@http://localhost:3000/static/js/vendors~main.chunk.js:17691:20
onError@http://localhost:3000/static/js/vendors~main.chunk.js:19611:10
onPacket@http://localhost:3000/static/js/vendors~main.chunk.js:19411:16
./node_modules/component-emitter/index.js/Emitter.prototype.emit@http://localhost:3000/static/js/vendors~main.chunk.js:17691:20
onPacket@http://localhost:3000/static/js/vendors~main.chunk.js:19817:10
callback@http://localhost:3000/static/js/vendors~main.chunk.js:20563:12
onData@http://localhost:3000/static/js/vendors~main.chunk.js:20567:56
./node_modules/component-emitter/index.js/Emitter.prototype.emit@http://localhost:3000/static/js/vendors~main.chunk.js:17691:20
onData@http://localhost:3000/static/js/vendors~main.chunk.js:20338:10
onLoad@http://localhost:3000/static/js/vendors~main.chunk.js:20394:12
create/xhr.onreadystatechange@http://localhost:3000/static/js/vendors~main.chunk.js:20291:18
EventHandlerNonNull*create@http://localhost:3000/static/js/vendors~main.chunk.js:20287:9
Request@http://localhost:3000/static/js/vendors~main.chunk.js:20228:10
request@http://localhost:3000/static/js/vendors~main.chunk.js:20174:12
doPoll@http://localhost:3000/static/js/vendors~main.chunk.js:20204:22
poll@http://localhost:3000/static/js/vendors~main.chunk.js:20537:10
doOpen@http://localhost:3000/static/js/vendors~main.chunk.js:20484:10
open@http://localhost:3000/static/js/vendors~main.chunk.js:19751:12
open@http://localhost:3000/static/js/vendors~main.chunk.js:19226:15
Socket@http://localhost:3000/static/js/vendors~main.chunk.js:19163:10
./node_modules/engine.io-client/lib/index.js/module.exports@http://localhost:3000/static/js/vendors~main.chunk.js:19037:33
open@http://localhost:3000/static/js/vendors~main.chunk.js:75157:19
Manager@http://localhost:3000/static/js/vendors~main.chunk.js:75082:33
lookup@http://localhost:3000/static/js/vendors~main.chunk.js:74957:19
initWebsocketConnection@http://localhost:3000/static/js/main.chunk.js:2945:73
initializeApplication@http://localhost:3000/static/js/main.chunk.js:2199:92
initKeycloak/<@http://localhost:3000/static/js/main.chunk.js:2681:7
promise callback*initKeycloak@http://localhost:3000/static/js/main.chunk.js:2677:6
./src/index.js/<@http://localhost:3000/static/js/main.chunk.js:2235:62
./src/index.js@http://localhost:3000/static/js/main.chunk.js:2314:30
__webpack_require__@http://localhost:3000/static/js/bundle.js:852:31
fn@http://localhost:3000/static/js/bundle.js:151:20
1@http://localhost:3000/static/js/main.chunk.js:3424:18
__webpack_require__@http://localhost:3000/static/js/bundle.js:852:31
checkDeferredModules@http://localhost:3000/static/js/bundle.js:46:23
webpackJsonpCallback@http://localhost:3000/static/js/bundle.js:33:19
@http://localhost:3000/static/js/main.chunk.js:1:81

Solution

  • Error is present because of versions of socket-io server and client. Version 2.2.0 works just fine.

    Netty-Socketio should get an update. Version 3.1.0 doesn't work with Java server, only 2.2.0 does.