最新版本的 socket io nodejs 未连接到 flutter 应用程序
Latest version of socket io nodejs is not connecting to flutter applications
目前,我正在尝试将套接字与 flutter 应用程序一起使用,当我使用版本 ^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 中修复此问题的任何方法请告诉我。
首先,在我将其发布到此处几天后找到了确切的解决方案。
问题不在于后端或 nodejs,尽管它看起来像是后端的问题,但事实并非如此。
我使用的是这个版本的 socket io 客户端,它不适合 nodejs 中较新版本的 socket io 连接。
然后我在pub的socket io client文档中找到了这个。开发
然后我只是改变了版本重建它并且它有效。
尝试将 Flutter 应用程序中的 socket io 客户端版本更改为 2.0,这肯定会解决你的问题。
目前,我正在尝试将套接字与 flutter 应用程序一起使用,当我使用版本 ^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 中修复此问题的任何方法请告诉我。
首先,在我将其发布到此处几天后找到了确切的解决方案。
问题不在于后端或 nodejs,尽管它看起来像是后端的问题,但事实并非如此。
我使用的是这个版本的 socket io 客户端,它不适合 nodejs 中较新版本的 socket io 连接。
然后我在pub的socket io client文档中找到了这个。开发
然后我只是改变了版本重建它并且它有效。 尝试将 Flutter 应用程序中的 socket io 客户端版本更改为 2.0,这肯定会解决你的问题。