var socket; function sendChatMessage(userId, message) { if (socket) { console.log("send message: " + message); socket.emit('im', { userId: userId, message: message }); } } function chatMessageCallback(msg) { console.log( "recv message: " + msg.message); } function chatEchoCallback(msg) { console.log( "echo message: " + msg.message); } function chatNotDeliveredCallback(msg) { console.log( "message not delivered"); } var messageCount = 0; function doChatTest() { messageCount++; sendChatMessage(pofProfileId, "test message " + messageCount); setTimeout("doChatTest()", 10000); } function connectToChatServer() { console.log("Connecting to chat server " + chatServer); socket = io.connect(chatServer + "?userId=" + escape(pofProfileId), { port: chatPort, 'force new connection':true }); socket.on('connecting', function (transport) { console.log("Connecting to chat server via " + transport); }); socket.on('connect', function () { console.log("Connected to chat server"); doChatTest(); }); socket.on('im', chatMessageCallback); socket.on('echo', chatEchoCallback); socket.on('notdelivered', chatNotDeliveredCallback); socket.on('ping', function (msg) { socket.emit('ping', msg); }); socket.on('disconnect', function () { console.log("Lost connection to chat server"); socket = null; }); socket.on('close', function () { console.log("Lost connection to chat server"); socket = null; }); socket.on('error', function (reason) { console.log("Error connecting to chat server"); socket = null; }); socket.on('connect_failed', function (reason) { console.log("Error connecting to chat server"); socket = null; }); } function initChat() { if (pofProfileId && pofProfileId != "") connectToChatServer(); else console.log("Chat profile ID not specified, cannot init chat"); }