methods used pkg-functions
For a function to be called remotely for RPC
reply
error
type
nil
Now we can call our struct/type which acts as receiver for these procedures/methods
create obj from struct which can be called remotely
start listening :port
(this step can be done afterwards)
server way
Accept()
raw-dogging way
net/rpc
// ignore err handling
var obj = new(type)
lis, err := net.Listen("tcp", ":port")
defer lis.close()
// server way
svr := rpc.NewServer()
svr.Register(obj)
for {
conn, err := lis.Accept()
svr.ServeConn(conn)
}
// raw-dogging way
rpc.Register(obj)
rpc.HandleHTTP()
http.Serve(lis, nil)
// either way, rpc will be served on :port
reqBody
and resp
struct(s) should be created accordinglyresp
client, err := rpc.DialHTTP("tcp", ":port")
client.Call("Type.Method", reqBody, &resp)