This is my server-side code
const express = require('express');
const app = express();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('connected');
socket.on('message', (msg) => {
console.log(msg);
});
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
And this is my client-side React Native component
import React, {useEffect} from 'react';
import {View, Text} from 'react-native';
import clientio from 'socket.io-client';
const ENDPOINT = 'http://127.0.0.1:3000';
export default () => {
useEffect(() => {
const socket = clientio(ENDPOINT);
console.log(socket.connected);
socket.emit('message', {message: 'hello'});
}, []);
return (
<View>
<Text> Hello </Text>
</View>
);
};
The console.log in useEffect always logs out "false" + I don't get any logs on server-side.
Tried different ports, changing uri to "http://localhost:3000"
I'm using packages:
"socket.io": "2.3.0" in NodeJS app
"socket.io-client": "2.3.0", in React app