Callbacks over socket.io transport
With socket.io
we can execute a callback function over WebSockets (or a relevant fallback). The function is defined client side, yet called server side (and vice versa). This can be a very powerful way to share processing resources and functionality between clients and servers.
In this recipe, we'll create a way for the server to call a client-side function that squares a number, and for the client to call a server-side function that sends Base64 encoding (http://en.wikipedia.org/wiki/Base64) of a sentence back to the client.
Getting ready
We simply need to create a new folder with new client.html
and server.js
files.
How to do it...
On our server, as before, we load our http
module and the client.html
file, create our HTTP server, attach socket.io
, and set the origins
policy.
var http = require('http'); var clientHtml = require('fs').readFileSync('client.html'); var plainHttpServer = http.createServer(function (request, response) { response.writeHead(200, ...