package main import ( args2 "admin/cmd/test/args" "context" "flag" "log" "time" cclient "github.com/rpcxio/rpcx-redis/client" "github.com/smallnest/rpcx/client" ) var ( addr = flag.String("addr", "localhost:8970", "server address") basePath = flag.String("base", "/rpcx", "prefix path") ) func main() { flag.Parse() d, _ := cclient.NewRedisDiscovery(*basePath, "Arith", []string{*redisAddr}, nil) xclient := client.NewXClient("Arith", client.Failover, client.RoundRobin, d, client.DefaultOption) defer xclient.Close() args := &args2.MulReq{ A: 10, B: 20, } for { reply := &args2.MulRsp{} err := xclient.Call(context.Background(), "Mul", args, reply) if err != nil { log.Printf("failed to call: %v\n", err) time.Sleep(5 * time.Second) continue } log.Printf("%d * %d = %d", args.A, args.B, reply.C) time.Sleep(5 * time.Second) } }