在socket.io的官方站點中,我有一個代碼示例,我的疑問是,emit函數將爲所有客戶端發出事件,還是僅爲在服務器中連接的客戶端發送事件?示例代碼:socket io的emit函數是如何工作的?
服務器(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);
});
});
客戶端(瀏覽次數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>
這是每個連接完成的。到服務器的每個連接都會創建一個傳入回調的套接字對象。 – raina77ow
你可以參考這個答案所有不同的答案, [Check out](http://stackoverflow.com/questions/10058226/send-response-to-all-clients-except-sender-socket-io#answer-10099325 ) –