func main()

in rpc/multi-protocols/go-client/cmd/main.go [30:97]


func main() {
	ins, err := dubbo.NewInstance(
		dubbo.WithName("dubbo_multirpc_client"),
		dubbo.WithRegistry(
			registry.WithZookeeper(),
			registry.WithAddress("127.0.0.1:2181"),
		),
	)
	if err != nil {
		panic(err)
	}

	//Triple
	cli, err := ins.NewClient(
		client.WithClientProtocolTriple())
	if err != nil {
		panic(err)
	}
	svc, err := greet2.NewGreetService(cli)
	if err != nil {
		panic(err)
	}

	respTriple, err := svc.Greet(context.Background(), &greet2.GreetRequest{Name: "hello world"})
	if err != nil {
		logger.Error(err)
	}
	logger.Infof("Greet triple response: %s", respTriple.Greeting)

	//Duboo
	cliDubbo, err := ins.NewClient(
		client.WithClientProtocolDubbo(),
		client.WithClientSerialization(constant.Hessian2Serialization),
	)
	if err != nil {
		panic(err)
	}

	connDubbo, err := cliDubbo.Dial("GreetProvider")
	if err != nil {
		panic(err)
	}
	var respDubbo string
	if err = connDubbo.CallUnary(context.Background(), []interface{}{"hello", "new", "dubbo"}, &respDubbo, "SayHello"); err != nil {
		logger.Errorf("GreetProvider.Greet err: %s", err)
		return
	}
	logger.Infof("Get dubbo Response: %s", respDubbo)

	//JsonRpc
	cliJsonRpc, err := ins.NewClient(
		client.WithClientProtocolJsonRPC(),
		client.WithClientSerialization(constant.JSONSerialization),
	)
	if err != nil {
		panic(err)
	}
	connJsonRpc, err := cliJsonRpc.Dial("GreetProvider")
	if err != nil {
		panic(err)
	}
	var respJsonRpc string
	if err := connJsonRpc.CallUnary(context.Background(), []interface{}{"hello", "new", "jsonrpc"}, &respJsonRpc, "SayHello"); err != nil {
		logger.Errorf("GreetProvider.Greet err: %s", err)
		return
	}
	logger.Infof("Get jsonrpc Response: %s", respJsonRpc)
}