【问题标题】:implementing socket.io with Flutter and nodejs使用 Flutter 和 nodejs 实现 socket.io
【发布时间】:2021-09-01 16:25:11
【问题描述】:

我想使用套接字 io 和颤振创建一个应用程序。 我的服务器在 nodejs 和客户端颤动。初始化后,什么也没有发生。我使用了来自flutter和node js的socket_io_client:^1.0.1包。也许我在某个地方犯了错误?我在heroku上部署了服务器

//sever node
const app = require('express')()

const http = require('http').createServer(app)
const io = require('socket.io')(http);
app.get('/', (req, res) => {
   res.send("Node Server is running. Yay!!")
})

io.on('connection',socket => {
    console.log('a user connected'); 
    });


void main() {
  IO.Socket socket = IO.io('https://xxxherokuapp.com/');
  //print(socket.connected);
  socket.onConnect((_) {
    print(socket.connected);
    print('connect');
    socket.emit('msg', 'test');
  });
  runApp(MyApp());
}

当我运行应用程序时,什么也没发生。也许我犯了一个错误。

【问题讨论】:

    标签: node.js flutter sockets


    【解决方案1】:

    您没有启动服务器,这就是为什么没有任何反应。您可以使用以下代码。

    const express = require('express');
    const app = express();
    const http = require('http');
    const server = http.createServer(app);
    const { Server } = require("socket.io");
    const io = new Server(server);
    
    app.get('/', (req, res) => {
       res.send("Node Server is running. Yay!!")
    })
    
    io.on('connection', (socket) => {
      console.log('a user connected');
    });
    
    server.listen(80, () => {
      console.log('listening on *:80');
    });
    

    【讨论】:

    • 感谢您的回答,但我确实启动了服务器。我没有在 AndroidManifest.xml 中添加这一行 android:usesCleartextTraffic="true" 并且我的服务器的 socket.io 版本是 4.x 而客户端的版本是 2.x 这就是原因。
    猜你喜欢
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2018-01-29
    • 2016-04-12
    相关资源
    最近更新 更多