protorpcProtobuf-RPC 实现

联合创作 · 2023-09-23 13:13

protorpc 是针对Go语言和C++的Protobuf-RPC实现. 其中C++版本还附加了XML的支持.


示例代码:



package server

import (
"code.google.com/p/goprotobuf/proto"
"errors"

"./arith.pb"
)

type Arith int

func (t *Arith) Multiply(args *arith.ArithRequest, reply *arith.ArithResponse) error {
reply.Val = proto.Int32(args.GetA() * args.GetB())
return nil
}

func (t *Arith) Divide(args *arith.ArithRequest, reply *arith.ArithResponse) error {
if args.GetB() == 0 {
return errors.New("divide by zero")
}
reply.Quo = proto.Int32(args.GetA() / args.GetB())
reply.Rem = proto.Int32(args.GetA() % args.GetB())
return nil
}

func main() {
arith.ListenAndServeArithService("tcp", ":1984", new(Arith))
}
浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报