In der offiziellen Website von socket.io habe ich ein Codebeispiel, mein Zweifel ist, wird die emit-Funktion das Ereignis für alle Client oder nur für den Client emittieren, der im Server angeschlossen? Der Beispielcode:Wie funktioniert die Emit-Funktion von Socket io?
Server (app.js):
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Client (index.html):
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
Es ist pro Verbindung erfolgt. Jede Verbindung zum Server erstellt im Wesentlichen ein Socket-Objekt, das an den Callback übergeben wird. – raina77ow
Sie können diese Antwort für alle verschiedenen Antworten beziehen, [Check out] (http://stackoverflow.com/questions/10058226/send-response-to-all-clients-except-sender-socket-io#answer-10099325) –