One example of receiving messages for node.js. I was using nodejs-websocket module as WebSocket server.
My server looks like this:
var ws = require("nodejs-websocket")
var server = ws.createServer(function (conn) {
console.log("New connection")
conn.on("close", function (code, reason) {
console.log("Connection closed")
})
}).listen(8081)
setInterval(function () {
console.log("Sending 'Test'");
try {
server.connections.forEach(function (con) {
console.log("Sending 'Test'");
con.sendText("Test");
});
} catch (e) {
console.log('Error!');
console.log(e);
}
}, 1000);
Client looks like this:
window.onload = function () {
function MyConnectionWrapper() {
var self = this,
createSocket = function () { return new WebSocket('ws://127.0.0.1:8081') },
ws = createSocket();
self.onopen = function (myFunc) {
ws.onopen = myFunc;
}
self.onmessage = function (myFunc) {
console.log('In self: ' + myFunc);
ws.onmessage = myFunc;
};
}
myConn = new MyConnectionWrapper();
myConn.onmessage(function (myFunc) {
console.log('In myConn: ' + myFunc);
});
}
Here notice lines:
myConn = new MyConnectionWrapper();
myConn.onmessage(function (myFunc) {
console.log('In myConn: ' + myFunc);
});
With first line:
myConn = new MyConnectionWrapper();
we have created socket, because automatically following code is executed:
createSocket = function () { return new WebSocket('ws://127.0.0.1:8081') },
with that myConn became WebSocket, and with self we assigned onmessage method to myConn:
self.onmessage = function (myFunc) {
console.log('In self: ' + myFunc);
ws.onmessage = myFunc;
};
In this case myFunc will be function which we assigned like this:
myConn.onmessage(function (myFunc) {
console.log('In myConn: ' + myFunc);
});
Example download from here.