问答

node.js – 带有nodejs示例的Apache Thrift

 来源    2019-04-01    2  

我正在尝试使用Apache Thrift在以不同语言实现的应用程序之间传递消息.它不一定用作RPC,而是用于序列化/反序列化消息.
一个应用程序在node.js.我试图找出Apache thrift如何与node.js一起工作,但我找不到太多的文档和示例,除了一个关于Cassandra的小文章和例子:
https://github.com/apache/thrift/tree/trunk/lib/nodejs

同样,我不需要在.thrift文件中声明任何过程,我只需要序列化一个简单的数据结构,如:

struct Notification {
   1: string subject,
   2: string message
 }

任何人都可以帮我一个例子吗?

上面的答案是错误的,因为它试图直接使用outBuffers,这是一个缓冲区数组.这是一个使用thrift和nodejs的工作示例:

var util = require('util');
var thrift = require('thrift');

var Notification = require('./gen-nodejs/notification_types.js').Notification;

var TFramedTransport = require('thrift/lib/thrift/transport').TFramedTransport;
var TBufferedTransport = require('thrift/lib/thrift/transport').TBufferedTransport;
var TBinaryProtocol = require('thrift/lib/thrift/protocol').TBinaryProtocol;

var transport = new TFramedTransport(null, function(byteArray) {
  // Flush puts a 4-byte header, which needs to be parsed/sliced.
  byteArray = byteArray.slice(4);

  // DESERIALIZATION:
  var tTransport = new TFramedTransport(byteArray);
  var tProtocol = new TBinaryProtocol(tTransport);
  var receivedNotification = new Notification();
  receivedUser.read(tProtocol);

  console.log(util.inspect(receivedNotification, false, null));
});

var binaryProt = new TBinaryProtocol(transport);

// SERIALIZATION:
var notification = new Notification({"subject":"AAAA"});
console.log(util.inspect(notification, false, null));
notification.write(binaryProt);
transport.flush();
node.js – 在nodejs中使用Apache Thrift进行序列化 – 反序列化
问答我正在使用Node.js应用程序,我需要序列化和反序列化.thrift文件中定义的结构的实例,如下所示: struct Notification { 1: string subject, 2: str ...
1
node.js – 带有nodejs和connect的HTTPS
问答我目前正在使用nodejs和connect作为我的HTTP服务器.反正用连接激活HTTPS了吗?我找不到任何关于它的文档.谢谢. 亨利::而不是创建http服务器,使用https服务器进行连接: va ...
1
node.js – 带有nodejs child_process的ssh,在服务器上找不到命令
问答我试图通过nodejs child_process运行一个简单的ssh命令.当我通过nodejs代码运行命令时,它无法说我找不到发送到服务器的命令.当我运行相同的命令时,只需复制&粘贴到我的终 ...
1
node.js – 带有nodejs express的图片上传失败
问答我正在尝试使用Node w / express上传图像,我收到以下错误.我在这方面看到了一些问题,指出异步数据库调用是导致问题的原因.我想在理论上使用bodyParser,bodyParser应该只是 ...
4
node.js – 带有nodejs的RabbitMQ
问答我试图从nodejs程序建立与RabbitMQ的连接.但它没有建立连接,也没有抛出错误.我的代码如下.请给我任何建议. var amqp = require('amqp'); var connecti ...
1
node.js – 带有nodejs和express的静态文件夹
问答var app = require('express')() , server = require('http').createServer(app) , io = require('socket.i ...
1
node.js – 带有apache代理的Socket.io
问答我试图用apache设置proxyng,以便能够在我的nodejs应用程序中使用socket.io.但我在客户端收到此错误消息: WebSocket connection to 'wss://exam ...
2
node.js – 带有快速内部docker容器的ECONNREFUSED nodeJS
问答我正在构建一个在docker容器中运行的nodejs应用程序- 这是我用来运行容器的命令-- sudo docker run -it --rm -p 3000:6001 --name xxx-runn ...
1
node.js – 使用nodejs生成带有数字签名的PDF
问答最近,我试图通过nodejs生成pdf. 我终于找到了PDFKit. 该库表现不错,但我需要实现数字签名的一部分. 但大部分实现都是针对JAVA或C#,如iText或VersyPDF. Plz给我一些 ...
1
node.js – 带有节点js示例的套接字
问答大家好我有问题-. 客户端代码 <html> <body onload="fun()"> <script src="C:\cygwin\us ...
1
node.js – 带有标志’a’的nodejs fs.openSync()无法创建不存在的文件
问答我想为我的应用程序编写一个日志模块,它将根据模块初始化的时间创建一个不存在的文件(调用模块中的init函数). 但是,当我尝试使用fs.openSync(log_file_name,'a')创建新的日 ...
2
node.js – 带有Mysql本地令牌的Nodejs Passport
问答我希望用户能够只使用令牌启动会话.无需输入密码. 我使用的是本地护照令牌 https://www.npmjs.com/package/passport-local-token 但似乎这将与Mongod ...
1
node.js – 带有Regex表达式的NodeJS变量
问答如何在正则表达式中包含查找变量? var find = 'de'; var phrase = 'abcdefgh'; var replace = '45'; var newString = phras ...
1
node.js – ArangoDB NodeJS =需要以下任务的工作示例代码
问答我来自MongoDB,现在我想使用ArangoDb来使用ACID Transactions.我只使用NodeJS进行编程. 我遇到的问题是以下,我无法将NPM代码示例带入生活! 有3个NPM软件包,带 ...
2
node.js – 使用nodejs删除带有_id的mongodb中的查询
问答删除mongodb中的一行似乎并不像在SQL中那么容易lol,好吧,我的问题是我无法通过_id删除行,因为_id包含一个obj ObjectId,这是db中的行, { "_id" ...
1
node.js – 使用nodejs将http请求从远程服务器重定向到本地服务器
问答名为charles的工具中有一个功能,允许您映射远程请求: http://www.charlesproxy.com/documentation/tools/map-remote/ 基本上,它可以向服务 ...
2
node.js – 使用NodeJS的简单WebSocket应用程序
问答我将创建一个简单的WebSocket应用程序,等待客户端连接.客户端将是Android用户,应用程序本身就是两个人的简单聊天.所以对于Android应用程序,我需要知道WebSocket地址(以ws: ...
1
node.js – 将nodejs应用程序部署到google云平台
问答我注册了谷歌云平台的免费试用版,我被卡住了.我的应用程序是使用express的节点服务器.它需要连接到mongodb集群.我只需要能够提供几页.我怎么能用计算引擎做到这一点.部署我的应用程序是否有一个 ...
1
node.js – 从nodejs调用postgres函数或存储过程的最佳/正确方法是什么
问答我正在使用"pg"模块来处理postgresql db,如何使用pg调用函数我有疑问, 我用查询方法调用函数, client.query("SELECT * FROM S ...
1