arpc
a node RPC library based on socket.io
examples
const server = require('arpc/server')(2333)
server.createService('test', {
a: [() => {
return 233
}]
})
(async function(){
const client = require('arpc/client')
let obj = client('ws://127.0.0.1:2333', 'test')
console.log(await obj.a[0]())
})()
API
client require('arpc/client')
client(socketOrUrl, name, obj = null, path = '/rpc')
- parameters
socketOrUrl: Socket | string
obj: any
object for the calling from the serverpath: string
the path for socket.io (invalided if you passed a socket at the first parameter). this can be a secret token for rpc connection
- return
: Promise
a object which can call the remote object with a prochain way (see examples)
server require('arpc/server')
server(ioOrPort, path = '/rpc')
- parameters
ioOrPort: Server | number
path: string
the same as the client api
- return
: RPC
the rpc object
RPC require('arpc')
- constructor
new RPC()
- metheds
connected(conn, name = 'server')
call this when sockets connected
- parameters
conn: Socket
name: string
the service we request the other side
createService(name, obj, onConnect, onDisconnect)
name: string
the name of the service we createobj: any
the object we provide for the remote callingonConnected: (object: Promise) => undefined
(optional) the function which will be called when a client connectsonDisconnect: (socket: Socket, reason: string) => undefined
(optional) the function which will be called when a client disconnects
getServer(obj = null)
creates a remote object from the server
- paramaters
obj: any
the object we provide for the remote calling
- return
: Promise
the remote object from the server
license
MIT