45 lines
884 B
Go
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)
|
|
}
|
|
}
|