package rpcSupport import ( "log" "net" "net/rpc" "net/rpc/jsonrpc" ) func RpcServer(host string, service interface{}) error { err := rpc.Register(service) if err != nil { log.Println("rpc register error") return err } listen, err := net.Listen("tcp", host) if err != nil { return err } log.Printf("rpc server listen ok: %s", host) for { accept, err := listen.Accept() if err != nil { log.Println("accept err: ", err) } jsonrpc.ServeConn(accept) } } func RpcClient(host string) (*rpc.Client, error) { dial, err := net.Dial("tcp", host) if err != nil { return nil, err } return jsonrpc.NewClient(dial), nil }