Problem socket.io NOT working
Details
express [folder]; cd [folder]; npm install;
The following did a trick for me with: socket.io-client: "^0.9.16"
io.connect("http://localhost:4000", {'force new connection': true});
Now 'connect' event fires consistently and there is no re-use.
I figured out this option by examining socket.io-client/lib/io.js line: 192 Since I can't even find this io.js file in github, I think there is refactoring in future releases, and this option might not work.
At least this might be helpful to somebody who will take this temporary work around.
Ricardo Tomasi is correct, saved my life, i was going crazy.
Altough things changed, we are in 2013, there's still an issue opened (since 2 years) on this
probably something changed, anyway to register the 'connect' event i had to do this:
var openSocket = function (uniqueID) {
var appSocket = io.connect('/'+uniqueID, { transports: ['websocket', 'xhr-polling']});
appSocket.socket.on('connect', function () {
console.log('i did connect.');
});
return appSocket;
};
Took a while to notice... the connection
event is emmited on io.sockets
. In your code this would be
socket.sockets.on('connection', function (client) {
client.send("hello")
console.log("hello", client)
})
You should use io
instead of socket
as the var name to avoid this confusion.