博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node 与 Thrift
阅读量:5997 次
发布时间:2019-06-20

本文共 2607 字,大约阅读时间需要 8 分钟。

  hot3.png

 背景:公司要用Node与其他语言(Java)写的服务通信。

1,服务端 helloServer.js

var thrift = require('thrift');var helloService = require('./HelloService');var server = thrift.createServer(helloService, {    hello: function(para, success){        console.log("para: " + para);        success(null, "Hi, Client! I am Server!");    }}, {});server.listen(8080);

2,客户端 helloClient.js

var thrift = require('thrift');var helloService = require('./HelloService');//创建连接和客户端var connection = thrift.createConnection('localhost', 8080);connection.on('error', function(err) {    console.error(err);});var client = thrift.createClient(helloService, connection);//调用hello方法var para = 'Hi Server! I am Client.';client.hello(para, function(err, res){    if(err){        console.error("Error: " + err);    }else{        console.log("Result: " + res);    }    connection.end();});

3,thrift compiler version: 0.9.2.

 
4,此版本的node第三方库thrift的server.js文件有个bug,导致thrift.createServer(processor, handler, options)的第三个参数必须得传。
 194721_aj74_251026.png
截图红框中的代码应该为:
if (options && options.tls) {

194504_5XGD_251026.png

[

connection.domain: object

connection._events: object

connection._maxListeners: undefined

connection.seqId2Service: object

connection.connection: object

connection.options: object

connection.transport: function

connection.protocol: function

connection.offline_queue: object

connection.connected: boolean

connection._debug: boolean

connection.retry_max_delay: object

connection.connect_timeout: boolean

connection.host: string

connection.port: number

connection.end: function

connection.initialize_retry_vars: function

connection.write: function

connection.connection_gone: function

connection.setMaxListeners: function

connection.emit: function

connection.addListener: function

connection.on: function

connection.once: function

connection.removeListener: function

connection.removeAllListeners: function

connection.listeners: function

]

[

thrift.Thrift: object

thrift.Connection: function

thrift.createClient: function

thrift.createConnection: function

thrift.createSSLConnection: function

thrift.createStdIOClient: function

thrift.createStdIOConnection: function

thrift.HttpConnection: function

thrift.createHttpConnection: function

thrift.createHttpClient: function

thrift.createServer: function

thrift.createMultiplexServer: function

thrift.createWebServer: function

thrift.Int64: function

thrift.Q: function

thrift.Multiplexer: function

thrift.MultiplexedProcessor: function

thrift.TFramedTransport: function

thrift.TBufferedTransport: function

thrift.TBinaryProtocol: function

thrift.TJSONProtocol: function

thrift.TCompactProtocol: function

]

转载于:https://my.oschina.net/aaxaac/blog/402585

你可能感兴趣的文章
《Axure RP8 网站和APP原型制作 从入门到精通》一2.2 竞争分析
查看>>
Go程序设计语言1.2 命令行参数
查看>>
在Nodejs中贯彻单元测试
查看>>
《Java编码指南:编写安全可靠程序的75条建议》—— 指南9:防止LDAP注入
查看>>
《SQL初学者指南(第2版)》——2.3 注释
查看>>
京东消息中间件演进之路:三次更迭,八大突破
查看>>
八年数据库转型之路:技术易改,匠心永存
查看>>
这是一份全球科技公司清洁能源成绩单,腾讯和百度就这么输给了阿里
查看>>
2017我在逻辑思维
查看>>
【Hadoop Summit Tokyo 2016】当Spark邂逅智能电表
查看>>
Java HashMap类基础
查看>>
码栈使用过程中常见操作动作说明
查看>>
Vuejs——(5)v-on
查看>>
用VS2008编写汇编程序
查看>>
Python装饰器由浅入深
查看>>
《阿里云周刊》第4期:开放共享,网商银行的运营探索及技术支撑
查看>>
iOS开发之证书申请及真机调试图文详情
查看>>
如何在java中使用sikuli进行自动化测试
查看>>
【整理】MySQL 复制的工作方式
查看>>
Go语言_基础学习篇
查看>>