node.js - Flutter Socket io 几秒钟后断开连接

标签 node.js flutter dart socket.io

我正在使用使用 express 的本地套接字服务器,该服务器使用 ngrok 公开到互联网。这是服务器代码:

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');
});

我的连接逻辑是:

 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());
    }
  }

但我一直收到 disconnected ping timeout 或有时我收到 disconnected transport close

最佳答案

我遇到了同样的问题。 问题不是由 socket_io_client 引起的包。

当我在服务器端更新 socket.io 时,问题就解决了。 只需在您的 node.js 服务器上运行 npm install socket.io@latest 命令即可。

关于node.js - Flutter Socket io 几秒钟后断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65411356/

相关文章:

node.js - 安装睾丸时出错

c++ - 段错误: 11 doing anything with node

Flutter 的 web_socket_channel 静默失败

flutter - Flutter中如何使用Column在屏幕中间显示文本?

firebase - 在没有用户交互的情况下在构建期间调用 setState()

arrays - Mongoose中,基于数组查询字段

javascript - Process.chdir() 对 require 没有影响

flutter - 在 flutter 中选择后清除自动完成文本?

flutter : How can i get collection from document with cloud_firestore?

javascript - 如何将 Dart 编译为 JavaScript v 1.3?