gRPC-DLanggRPC 的 D 语言实现

联合创作 · 2023-09-23 12:15

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);
    }
}

 

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报