UNPKG

@ch1/rpc

Version:

JavaScript Remote Procedure Call (RPC)

46 lines (40 loc) 1.18 kB
'use strict'; /*global require, console, setTimeout*/ var app = require('http').createServer(handler), io = require('socket.io').listen(app), RPC = require('./node/js-rpc.js'); app.listen(8079); function handler(req, res) { res.writeHead(200); res.end('index.html'); } function loopBack(arg) { console.log('looping back'); if (arg) { return arg + ' hi there'; } return 'looper'; } io.sockets.on('connection', function (socket) { socket.on('message', function () { console.log('hi', arguments); }); var rpc = new RPC({ on : function (msg, fn) { socket.on(msg, fn); }, emit: function (message) { socket.emit('message', message); } }, { listen : 'on', post : 'emit', message: 'message' }); rpc.expose({ loopBack: loopBack }); setTimeout(function () { rpc.isReady(true); }, 25); });