Socket.connected返回false,Flutter Socket.io_client连接到Node.js S



我正试图将Flutter应用程序连接到运行Socket.io的Node.js服务器。然而,每当我打印出socket.connected时,它都会返回false。

我的Flutter Socket.io_client版本是socket_io_client: ^2.0.0-beta.4-nullsafety.0,我的Node.js Socket.io版本是3.1.2。这意味着没有由于版本不兼容而导致的错误。

如何使Flutter客户端连接到Node服务器?

这是我连接到节点服务器的代码。

void initState() {

super.initState();
connect();
}
void connect(){
print("ASDASD");
IO.Socket socket = IO.io("https://geobus-server.ibrahimshah.repl.co/", <String, dynamic>{
'transports':['websocket'],
'autoConnect': true,
});
socket.connect();
socket.onConnect((data) => print("Connected"));
print(socket.connected);

}

这是我的Node.js服务器代码:

const app = express();
const http = require("http");
const server = http.createServer(app);
var io = require('socket.io')(server);
app.get('/', (req, res) => {
res.send('Hello Express app!')
});

app.get('/questions', (req, res)=>{
console.log(req.url);

})
io.on('connection', (socket) => {

console.log("User connected")

});
app.listen(3000, () => {
console.log('server started');
});

我的输出:false

print行放入socket.onConnect方法块中,然后再次检查。

最新更新