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.
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, ...