Estoy jugando con socket.io y node.js, y me preguntaba cómo lograr lo siguiente: Tengo un formulario simple que envía una cadena de texto al servidor, y el servidor lo envía de vuelta, y se agrega a un div. lo que me gustaría hacer es tener esa actualización div para todos los usuarios en todos los navegadores, actualmente solo actualiza la que se envió desde el mensaje.Enviando mensajes a todos los navegadores con socket io
código de app.js (Node.JS servidor):
io.sockets.on('connection', function(socket) {
socket.on('send_message', function(data) {
data.message = data.message + ' yo<br/>';
socket.emit('get_message',data);
});
});
código en el lado del cliente:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
$(document).ready(function() {
var socket = io.connect('http://localhost:3000');
$('#sender').live('click',function() {
var user_message = $('#message_box').val()
socket.emit('send_message',{message: user_message});
});
socket.on('get_message', function(data) {
$('#data').append(data.message);
});
});
</script>
y el html:
<div id='data'></div>
<input type='text' id='message_box' placeholder='send message'>
<button id='sender'>Send Message</button>
¿Qué debería estar haciendo para enviar mensajes a múltiples navegadores?