我在将socket io Flatter客户端连接到nodejs socket io服务器时遇到问题.
即.,
socket_io_client: ^1.0.2
服务器端.
{
"socket.io": "^2.4.1",
}
我也try 了最新的依赖项,但我在日志(log)中收到了同样的timeout条消息,
下面我将添加服务器端和客户端的实现,
const { socketGuard } = require('./middlewares/socketio.middleware');
let io;
module.exports = {
init: (server) => {
io = require("socket.io")(server, { cors: { origin: '*' } });
io.use(async (socket, next) => {
let result = await socketGuard(socket);
if (result.isValid) {
next();
}
else {
next(new Error("Not authorized"));
}
});
io.on("connection", (socket) => {
console.log(`${socket.id} : connected`);
});
return io;
},
get: () => {
if (!io) {
throw new Error("Socket io not initialized");
}
return io;
}
};
对于Flutter ,我在init函数中添加了以下几行:,
io.Socket socket = io.io("http://192.168.1.14:5000");
socket.onConnect((data) {log("Hello world");});
socket.onConnectError((data) {log(data);});
socket.onError((data) {log(data);});
socket.on("message", (data) {log(data);});