Flutter Socket io disconnects after some seconds

1,828

I had the same problem. The problem wasn't caused by the socket_io_client package.

When i update socket.io on my server side, the problem is solved. Just run npm install socket.io@latest command on your node.js server.

Share:
1,828
musjib999
Author by

musjib999

Am a mobile and web developer who specializes on some technologies like flutter, javascript, firebase, nodejs, docker...

Updated on December 26, 2022

Comments

  • musjib999
    musjib999 over 1 year

    Am using a local socket server using express which is expose to the internet using ngrok. This is the server code:

    const app = require('express')();
    const http = require('http').createServer(app);
    
    app.get('/', (req, res) => {
       res.send("Node Server is running. Yay!!");
    });
    
    //Socket Logic
    const socketio = require('socket.io')(http)
    socketio.on("connection", (userSocket) => {
       console.log('Connected to socket');
    });
    
    http.listen(3000, () => {
     console.log('listening on port 3000');
    });
    

    and my connection logic is:

     void connectToServer() {
        try {
          socket = io('https://fa6387728fcd.ngrok.io', <String, dynamic>{
            'transports': ['websocket'],
            'autoConnect': false,
          });
    
          // Connect to websocket
          socket.connect();
    
          // Handle socket events
          socket.on('connect', (data) => print('Connected to socket server'));
          socket.on('disconnect', (reason) => print('disconnected $reason'));
          socket.on('error', (err) => print('Error: $err'));
        } catch (e) {
          print(e.toString());
        }
      }
    
    

    But i keep getting disconnected ping timeout or sometimes i get disconnected transport close