uniugm/admin/cmd/test/rpcxclient.go
2025-06-25 16:04:30 +08:00

45 lines
884 B
Go

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)
}
}