0

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.

BlK
  • 1
  • how are you accessing it on your phone? you wont just be able to go to `localhost:port` unless you are doing [something like this](https://stackoverflow.com/questions/9887621/accessing-localhost-of-pc-from-usb-connected-android-mobile-device/17603378#17603378) – about14sheep Apr 01 '23 at 22:59

0 Answers0