package rpcsup import ( "dashboard/logger" "net" "net/rpc" "net/rpc/jsonrpc" ) func JsonServer(log *logger.Logger, address string, service interface{}) error { if err := rpc.Register(service); err != nil { log.Sugar().Error(err) return err } listen, err := net.Listen("tcp", address) if err != nil { log.Sugar().Error(err) return err } log.Sugar().Infof("Rpc server listen on: %s", address) for { accept, err := listen.Accept() if err != nil { log.Sugar().Error(err) continue } jsonrpc.ServeConn(accept) } } func JsonClient(log *logger.Logger, address string) (*rpc.Client, error) { dial, err := net.Dial("tcp", address) if err != nil { log.Sugar().Error(err) return nil, err } return jsonrpc.NewClient(dial), nil }