I was trying to connect socket io and when I try to log the socket id. it console log when I open the address with pc but nothing with phone '
io.on("connection", (socket) => { console.log(
User connected ${socket.id }); })
server side
console.log the connected socket id
const express = require("express");
const app = express();
const http = require("http");
const {Server} = require("socket.io");
const cors = require("cors");
app.use(cors);
const server = http.createServer(app);
const io = new Server(server, {
cors: {
origin: "http://localhost:3000/",
}
} )
io.on("connection", (socket) => {
console.log(`User connected ${socket.id }`);
socket.on("send_message", (data) => {
socket.broadcast.emit("receive_message", data);
})
})
server.listen(3001,() =>{
console.log("server is running")
})
client side
when button is clicked it emit a message to server and server broadcast the same message lastly alert the message
it works fine bettwen PC but not on phone
import io from 'socket.io-client'
import { useEffect } from 'react'
const socket = io.connect("http://localhost:3001",{transports: ['websocket']} )
function App() {
const sendMessage = () => {
socket.emit("send_message", {message:"Hello"} )
}
useEffect(()=> {
socket.on("receive_message", (data) => {
alert(data.message)
} )
}, [socket] )
return (
<div className="App">
<input placeholder="message" ></input>
<button onClick={sendMessage} >send message</button>
<h1 id="text" >_________________</h1>
</div>
);
}
export default App;
I'm trying to broadcast emit a message and alert it.