-
Notifications
You must be signed in to change notification settings - Fork 6
Home
This page will go through the protocol data units and their trasnmission.
The basic PDU is an RPC Message
which can either be a Request or
a Response.
Each message is formatted as a Hash data structure and transmitted in serialized form -- the serialization type is up to the implementation.
Request messages contain the following key-value pairs:
- message -- RPC message in the form of 'handler.method'.
- args -- Array of arguments for the remote method or empty array if the method expects no arguments.
- token -- Optional authentication token to be verified by the server implementation.
Response messages contain the following key-value pairs:
- obj -- The return value of the Request.
The flow is very simple:
- Client -- Initiates connection to server
- Server -- Accepts connection
- Client -- Sends RPC request
- Server -- Recieves RPC request, sends RPC response
- Client -- Receives RPC response, closes connection
For the sake of simplicity no multiplexing is performed which means 1 connection per exchange.
If a client neglects to close the connection the server will close it after a time-out period.
You can find a simple client implementation using SSL Sockets over here.
Arachni-RPC Pure should give you a nice idea of how to implement a client in your language of choice.