拥抱大家庭,nodejs走thrift
生活随笔
收集整理的這篇文章主要介紹了
拥抱大家庭,nodejs走thrift
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
擁抱大家庭,nodejs走thrift。最賤的例子,nodejs與nodejs之間走thrift對傳。
?
1,官網下載
http://mirrors.cnnic.cn/apache/thrift/0.9.1/thrift-0.9.1.exe?
2,編輯xuser.thrift
struct User{1: string uid,2: string uname,3: bool usex,4: i16 uage}service UserService{void add(1: User u),string adduname(1: string uname),User get(1: string uid) }3,生成IDL
thrift ? --gen js:node xuser.thrift
4,目錄下會多出文件
5,編輯server.js
var thrift=require("thrift"); var UserService=require('./gen-nodejs/UserService.js'); var ttypes=require('./gen-nodejs/xuser_types');var users={};var server=thrift.createServer(UserService,{add:function(user,callback){console.log("add stored:",user.uname);users[user.uid]=user;console.log(users);callback();},adduname:function(x,callback){console.log("adduname stored:",x);callback(null,"MMMMM");},get:function(uid,callback){console.log("get received:", uid);console.log(users[uid]);callback(null,users[uid]);}} );server.listen(3000); console.log("server start");server.on("error",function(e){console.log(e); });6,編輯client.js
var thrift =require('thrift');var UserService = require('./gen-nodejs/UserService.js'); var ttypes = require('./gen-nodejs/xuser_types');var connection = thrift.createConnection('127.0.0.1', 3000); var client = thrift.createClient(UserService, connection);connection.on("error",function(e) {console.log(e); });var x=new ttypes.User({uid:'112',uname:'aab',usex:0,uage:'181' });client.add(x,function(err, res){console.log("ADD OK1");client.get('112',function(err, res){if (err) {console.error(err);} else {console.log("Res:",res);connection.end();}});client.adduname('112',function(err, res){if (err) {console.error(err);} else {console.log("Res:",res);connection.end();}}); });7,裝nodejs的thrift包
npm install thrift
8,node server.js
9,node client.js
OK,小功告成。
轉載于:https://www.cnblogs.com/zacard-orc/p/3590405.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的拥抱大家庭,nodejs走thrift的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xsl-mode属性用法
- 下一篇: 医生值班(枚举)