如何在nodejs中使用thrift实现客户端多路复用?
我尝试了以下代码,但徒劳无功。
var transport = thrift.TBufferedTransport;
var protocol = thrift.TBinaryProtocol;
var multiplexer = thrift.Multiplexer;
var ip = 'localhost';
var port = 9090;
var connection = thrift.createConnection(ip, port, {
transport : transport,
protocol : protocol
});
multiplexer();
var client = multiplexer.prototype.createClient(
"myServiceName", myServiceClient, connection
);
当我使用上面的客户端并调用我的服务中定义的方法/函数时, 连接正在顺利进行(没有连接错误)和 服务方法/功能平稳运行并返回输出。 但是在接收到thrift npm模块中的数据(缓冲)connection.js时抛出“无法设置属性'0'未定义”错误。 在进一步调查中,我发现没有设置在每个客户端创建时设置的seqid。
有人可以帮我这个吗?
答案 0 :(得分:0)
我发现这是客户的解决方案:
var transport = thrift.TBufferedTransport;
var protocol = thrift.TBinaryProtocol;
var multiplexer = thrift.Multiplexer;
var ip = 'localhost';
var port = 9090;
var connection = thrift.createConnection(ip, port, {
transport : transport,
protocol : protocol
});
var multiplexer = new thrift.Multiplexer();
var client = multiplexer.createClient(
"myServiceName", myServiceClient, connection
);