gRPC 的 D 语言实现 gRPC-DLang

Apache
D语言
跨平台
2019-10-15
冰力
gRPC-DLang 正在参加 2019 年度最受欢迎开源中国软件评选,请投票支持!
gRPC-DLang 在 2019 年度最受欢迎开源中国软件评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票赢奖品
已投票

gRPC-DLang 是使用 D 语言开发的 gRPC 实现,基于 hunt-http 的 http 2.0 实现。

服务端示例代码:

import grpc;

import helloworld.helloworld;
import helloworld.helloworldrpc;

class GreeterImpl : GreeterBase
{
    override Status SayHello(HelloRequest request , ref HelloReply reply)
    {
        reply.message = "hello " ~ request.name;
        return Status.OK;
    }
}

void main()
{
    string host = "127.0.0.1";
    ushort port = 5001;

    auto server = new Server();
    server.listen(host , port);
    server.register( new GreeterImpl());
    server.start();
}

客户端示例代码:

import grpc;

import helloworld.helloworld;
import helloworld.helloworldrpc;

import std.stdio;

void main()
{
    auto channel = new Channel("127.0.0.1" , 5001);
    GreeterClient client = new GreeterClient(channel);

    auto request = new HelloRequest();
    request.name = "test";

    HelloReply reply = client.SayHello(request);
     
    if(reply !is null)
    {
       writeln(reply.message);
    }
}

 

的码云指数为
超过 的项目
加载中

评论(10)

l
leigg
騳,我学不动了
沧海一刀
沧海一刀
恭喜RNG
resetme
resetme
reply !is null --- 语法这么高级的吗
yywww
yywww
感觉很混搭,C# 有 is not null更自然的语法, 要不就C风格的 != 这个不伦不类
见异思迁
见异思迁
C# 只有 is null, 没有 is not null. 那是SQL的.
冰力
冰力 软件作者
D 语言应该是系统级语言中语法最强大的,哈哈哈
通吃岛-低手哥
通吃岛-低手哥
推广D语言很积极
冰力
冰力 软件作者
好东西当然跟大家分享,毕竟这语言也不是咱们自己的。
霹雳巴拉蹦
霹雳巴拉蹦
牛逼!
冰力
冰力 软件作者
欢迎体验!哈哈

暂无资讯

暂无问答

Grpc介绍 — Go-Service To PHP-Client

笔者现在公司项目大部分是PHP进行开发,要完成整体微服务化必须要考虑PHP使用上的可行性,Grpc也是支持PHP作为client端发起Grpc请求,但是依赖的扩展等都相对复杂(毕竟不是亲儿子),那么本...

03/06 11:58
359
1
GRPC-java的简单使用

GRPC的简介 (1)在gRPC中客户端可以直接调用运行在不同机器上服务器端的方法,与其它RPC(远程方法调用)一样,定义一个方法,可以被远程使用参数调用,然后通过返回值进行响应。 (2)服务器...

2018/12/14 11:55
89
0
Grpc-Gateway - Grpc兼容HTTP协议文档自动生成网关

因为之前的测试结果让笔者对PHP使用GRPC很失望,如果使用HTTP的方式Guzzle还可以提供并发能力来降低接口消耗,Grpc只能阻塞,但是如果使用HTTP的话对于调用限制和GO调用GO来说不太友好,有没...

03/18 11:21
771
1
gRPC 小记

创建一个maven项目demo-grpc 包含三个子模块: grpc-common:公共模块定义proto及生成java代码; grpc-server:grpc 服务端; grpc-client:grpc客户端。 其中grpc-server、grpc-client 为s...

2018/09/04 11:48
212
0
gRPC Windows编译应用

## gRPC Windows编译 从github上clone出来后进行cmake的编译,参考上面的文档,需要注意的点: - 必须安装所有的依赖,包括Perl,Go,YASM,Git,CMake - 不要使用--recursive来递归clone,因...

2018/06/20 09:15
619
0
go grpc 初步笔记

GRPC 像许多RPC系统一样,gRPC基于定义服务的思想,指定可以使用其参数和返回类型远程调用的方法。 特点 基于 HTTP/2, 继而提供了连接多路复用、Body 和 Header 压缩等机制。可以节省带宽、...

2017/03/30 14:18
275
1
Golang 微服务 - 01 环境和工具

注意:主机操作系统为 Windows SDK 下载地址 https://studygolang.com/dl,安装略 验证是否成功,控制台中输入 go env 相关环境变量: 添加环境变量 GOPATH,值为 C:\Users\your-host-name\...

2018/09/15 19:57
130
0
比特币 LND gRPC API中文文档

比特币闪电网络服务节点(Lightning Nework Daemon)的gRPC API文档,中文版由汇智网提供,访问地址:http://cw.hubwiz.com/card/c/lnd-grpc-api/ 如果希望快速掌握区块链应用的开发,推荐汇...

08/14 19:49
13
0
TiKV 源码解析系列文章(八)grpc-rs 的封装与实现

作者: 李建俊 上一篇《gRPC Server 的初始化和启动流程》为大家介绍了 gRPC Server 的初始化和启动流程,本篇将带大家深入到 grpc-rs 这个库里,查看 RPC 请求是如何被封装和派发的,以及它...

06/13 16:17
55
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部