gpt4 book ai didi

node.js - 最新版本的套接字 io nodejs 未连接到 flutter 应用程序

转载 作者:行者123 更新时间:2023-12-05 00:44:07 27 4
gpt4 key购买 nike

目前,我正在尝试将套接字与 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;
}
}

Node 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,尽管它看起来不是后端的问题。 enter image description here

我使用的是这个版本的 socket io 客户端,它不适合 nodejs 中更高版本的 socket io 进行连接。

然后我开始了解这一点,这是我在 pub 中的套接字 io 客户端文档中找到的。开发。

enter image description here

然后我只是更改了重新构建它的版本并且它起作用了。尝试将 Flutter 应用中的 socket io 客户端版本更改为 2.0,这肯定会解决您的问题。

关于node.js - 最新版本的套接字 io nodejs 未连接到 flutter 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68058896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com