2016-01-21 56 views
0

有什麼用節儉上的NodeJS這兩個包的區別是:
- thrift
- thrift-http
乍一看似乎thrift-http將需要使用thrift超過http,但我安裝了thrift包,它確實有其中定義了一個createHttpConnection方法。下面是示例代碼中,我寫道:NodeJS:節儉vs thrift-http包 - 使用哪一個?

var thrift = require('thrift'); 
var myService = require('./gen-nodejs/MyService'); 
var transport = thrift.TBufferedTransport; 
var protocol = thrift.TBinaryProtocol; 
// connect to proxy on 127.0.0.1:8888 
var connection = thrift.createHttpConnection('127.0.0.1', 8888, { 
    transport : transport, 
    protocol : protocol, 
    path: 'http://localhost:5331/myhandler', 
}); 

connection.on('error', function(err) { 
    console.log(err); 
}); 

// Create a client with the connection 
var client = thrift.createHttpClient(myService, connection); 
console.log('calling getTotalJobCount...'); 

client.getTotalJobCount(function(count) 
{ 
    console.log('total job count = ' + count); 
}); 

但是當我運行它,我得到這個:

total job count = NULL 

這並不如預期的服務回報無法在客戶端回調出現NULL的整數。現在我無法找到鏈接,但昨天我在http讀的地方,節儉只支持TJSONProtocol。現在是否正確?這就是我看到NULL的原因嗎?我在哪裏可以看到nodejs中節儉的源代碼? This是搜索「thrift nodejs」時出現在Google中的第一個鏈接,它似乎代碼完全過時。

回答

0

thrift包是由Apache Thrift項目組提供的包。

另一種是別人的包,不涉及任何形式的「官方」的來源。在對相關提交進行快速檢查後,這些文件的版本似乎也是0.9.3,這是最新的正式版本。但是,我不能說所有這些文件是完全原創的,還是已經修改過。你必須自己驗證(或者只是相信那個人)。