【发布时间】:2021-09-04 14:12:57
【问题描述】:
目前,我正在尝试将套接字与颤振应用程序一起使用,当我使用版本 ^2.3.0 时效果很好。但是,当我尝试在 nodejs 中使用最新版本的 socket io 时,即 4.1.2,它仍然在使用浏览器时没有。 我无法弄清楚发生了什么。
我正在分享 Flutter socket io 连接以及 nodejs 应用程序的代码。
import 'package:getparked/Utils/DomainUtils.dart';
import 'package:socket_io_client/socket_io_client.dart' as IO;
class SocketUtils {
IO.Socket socketIO;
IO.Socket init(onSocketConnected, onSocketDisconnected) {
socketIO = IO.io(domainName, <String, dynamic>{
'transports': ['websocket'],
'upgrade': false
});
socketIO.connect();
socketIO.on("connect", (data) {
print("Connection Successfully Established...");
onSocketConnected(socketIO);
});
socketIO.on("reconnect", (data) {
print("Socket Connected Again.. Reconnection");
});
socketIO.on("disconnect", (data) {
print("Socket Disconnected Unexpectedly..");
onSocketDisconnected(socketIO);
});
return socketIO;
}
}
节点js代码
const express = require('express');
const app = express();
const server=require('http').createServer(app);
io = require('socket.io')(server, {
cors:{
origin:"*"
},
});
io.on('connection', (socket) => {
console.log(socket.id);
});
server.listen(+port, () => {
console.log("Server is running...");
console.log(name + " " + port);
vehicleUtils.init();
adminUtils.init();
});
我有人知道有任何方法可以在 Flutter 或 nodejs 中解决此问题,而无需降级版本,请告诉我。
【问题讨论】:
-
与我发生完全相同的问题。有什么进展吗?
标签: node.js flutter socket.io real-time