protorpc 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
protorpc 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 BSD
开发语言 C/C++ Google Go
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 chai2010
适用人群 未知
收录时间 2013-05-04

软件简介

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))
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于服务端专区
05/27 17:19

golang实现RPC的几种方式

golang实现RPC的几种方式 https://studygolang.com/articles/14336 什么是RPC 远程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子...

0
0
发表于开发技能专区
2019/09/09 01:14

grpc&thrift对比

grpc thrift 都是常用的rpc 框架,这里对grpc 和 thrift 从几个方面对两者进行对比 一,语言支持度不同 grpc 和thrift 对不同语言支持度不一样,相比而言 thrift 比grpc 支持度更广,到底如何选择rpc 框架需要结合...

0
1
发表于服务端专区
2016/03/29 22:21

常见网络服务器开发开源项目代码规模

这里总结了一些常见的网络服务器开发中用到的C/C++开发的开源项目核心代码的代码规模,主要是为了后续研读这些优秀的开源项目的代码,学习他们的设计而提供一些参考。 libev 项目主页:http://software.schmorp.de/pkg/libev.html 版本:4.22 libev是libevent之后的一个事件驱动的编程框架,其接口和libevent基本类似。这...

2
16
发表了博客
2019/01/25 15:34

常见RPC开源框架

什么是rpc框架 先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用? 通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
14 收藏
分享
返回顶部
顶部