Estoy tratando de escribir una aplicación en la que los clientes compartan la ubicación en tiempo real entre sí con javascript. Se cierra en el lado del servidor.js, pero no puedo verlo en el lado del cliente del cliente.
Servidor.js
const server = require('http').Server(app); const io = require('socket.io')(server); server.listen(8080) const location =[]; const players ={} io.on('connection',(socket)=>{ socket.on('Client_send_pos',(data)=>{ /* position verisi alınır. */ console.log("new client connected, with id " + socket.id); location.push(data); /* location dizine aktarılır.*/ io.emit('send_mang_pos',location); /* emit edilerek yazdırılması sağlanır. */ }); socket.on("disconnect",() => { console.log(`${data} User disconnected.`) const index = location.indexOf(data); /* disconnect olan browser'ın dizide kaçıncı eleman olduğu bulu. */ if (index != -1) { delete location[index]; location.splice(index, 1); io.emit('delete',index); console.log(index); } io.emit('send_mang_pos',location); });Cliente
let socket = io.connect('http://localhost:8080'); const position = [this.state.location.x, this.state.location.y] socket.emit('Client_send_pos',position) const map = L.map('map').setView(position, 10); socket.on('send_mang_pos',(data)=>{ data.forEach((i,y,z)=>{ }); });He escrito algo similar: https://github.com/armonkahil/Dismissed/blob/master/client/src/components/Buttons/index.js Tenía entendido que socket.io lo manejaba solo. Cuando el cliente se vaya, emitirá un evento de "desconexión". Nunca escribí un emisor de desconexión. Solo me aseguré de escucharlo en el lado del servidor como ya lo ha configurado.