第一次点击时,我的客户端输出如下:
Object {hello: "world"}
然后第二次点击:
Object {hello: "world"}
Object {hello: "world"}
单击时输出行的次数随着后续单击而增加一次。
客户端
var socket = io.connect('http://localhost');
$(document).on('click' , '#test', function(){
socket.emit('news', { my: 'data' });
socket.on('news', function (data) {
console.log(data);
});
});
服务器
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
io.sockets.on('connection', function (socket) {
socket.on('news', function (data) {
socket.emit('news', { hello: 'world' });
console.log(data);
});
});
每次触发点击事件处理程序时,都要绑定一个新的事件处理程序。在回调之外绑定一次:
var socket = io.connect('http://localhost');
socket.on('news', function(data) {
console.log(data);
});
$(document).on('click', '#test', function() {
socket.emit('news', {
my: 'data'
});
});