Node JS and Socket IO

I'm trying to write an object with member functions for receiving and sending data to and from the client with Node JS and Socket IO. The problem is that every time I send data from the client, there is a new 'connection' event that fires. Is that how it works? I thought the connection event would only occur on a new connection. So with the code below, the log echoes 'New connection' with every reception from the client. It doesn't seem right.

io.sockets.on('connection', function (socket) {

console.log('New connection');

var localSocket = socket;

var newsock = new UserSocket(localSocket);

newsock.game = null;
newsock.host = null;
newsock.opponent = null;
newsock.room = "";

newsock.SendToHostSocket('Welcome to Baseball Strategy II');

arrSockets.push(socket);

});


function UserSocket(sock) {

var localSock = sock;

var o = this;

this.sock = localSock;

this.sock.on('clientData', function (data) {

    console.log("user socket object");
    console.log(o);
    o.ParseClientData(data);

});

}

This is a simplified version of what I have for the client:

$(document).ready( function () {

var socket = io.connect('http://local.baseball.com:3333');

function SocketGameOut(outstring) {

    socket.emit('clientData', outstring );

}


$("#hostGame").click( function () {

    var gamenum = $('input[name=gameSelect]:checked', '#gameForm').val();

    var aSendData = { command : "newgame" , senddata : { gameid : gamenum } };
    var senddata = JSON.stringify(aSendData);
    SocketGameOut(senddata);

});


});

Modify your code as below it worked for me.

//use once.('connection') instead of on.('connection')


io.sockets.once('connection', function (socket) {

console.log('New connection');

var localSocket = socket;

var newsock = new UserSocket(localSocket);

newsock.game = null;
newsock.host = null;
newsock.opponent = null;
newsock.room = "";

newsock.SendToHostSocket('Welcome to Baseball Strategy II');

arrSockets.push(socket);

});