I am attempting to connect my Flutter app to a Node.js server running Socket.io. However, whenever I print out socket.connected, it returns false.
My Flutter Socket.io_client is version socket_io_client: ^2.0.0-beta.4-nullsafety.0, and my Node.js socket.io version is 3.1.2. That means that there is no error caused due to version incompatability.
What can I do to make my Flutter client connect to my Node server?
Here is my code to connect to the node server.
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);
}
Here is my Node.js server code:
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');
});
My output:
false
Put
printline insidesocket.onConnectmethod block and check it again.