socket.on слишком часто вызывает свой обратный вызов

При первом нажатии мой клиент выводит это:

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);
});
});

Ответы на вопрос(1)

Ваш ответ на вопрос