Apache Thrift是一种声明数据类型和接口的方法。您可以将节俭工具编译成许多其他语言,称为“绑定”。是否有可以产生R绑定以节省资源的编译器?我没看见。

最佳答案

仍处于早期采用阶段,但是您可以尝试:

service PingPong {
    string ping(),
}


服务器:

library(thriftr)

pingpong_thrift = thriftr::t_load("pingpong.thrift",
module_name="pingpong_thrift")

Dispatcher <- R6::R6Class("Dispatcher",
    public = list(
        ping = function() {
            return('pong')
        }
    )
)

server = thriftr::make_server(pingpong_thrift$PingPong, Dispatcher$new(),
    '127.0.0.1', 6000)
server$serve()


客户:

library(thriftr)

pingpong_thrift = thriftpy::t_load("pingpong.thrift",
module_name="pingpong_thrift")

client = thriftpy::make_client(pingpong_thrift$PingPong, "127.0.0.1", 6000)
cut(client$ping())

09-30 15:30