Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。它被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的。
---- 引用自: 百度百科.
个人觉得和TCP的操作代码(node这块)挺像的。
先说下操作流程:
1.拿到相应的idl文件(我觉得和webservice的描述文档作用挺像的)
2.生成node使用的js文件(这里是真的坑,网上起码看了10篇,就说执行一句命令,也不说哪里)
3.具体操作。
下载依赖包:
npm install thrift
IDL文件例子
以下是从网上拿来的例子
idl文件:user.thrift
struct User{
1: string uid,
2: string uname,
3: bool usex,
4: i16 uage,
}
service UserService{
void add(1: User u),
User get(1: string uid),
}
大坑
接下来用这个生成需要用到的js文件(网上一堆坑)
下载 thrift.exe,使用这里来完成本操作
thrift-0.14.1下载链接
thrift其他版本链接
或者自己去官网下载
在exe文件所在文件夹执行:thrift --gen js:node user.thrift
不行就: ./thrift --gen js:node user.thrift
注意这里的thrift是exe文件完整的名字,我使用的git执行的命令
服务端
// 服务端
let port = 7009;
var thrift = require("thrift");
var UserService = require('./gen-nodejs/UserService.js');
var ttypes = require('./gen-nodejs/user_types');
var users = {
};
var server = thrift.createServer(UserService,