即時通訊使用Javascript來顯示用Java生成的信息。 我談了10,000個數據,所有這些數據都是用Java生成的,並且使用隨機值生成了測試內容。那麼我想在我的JavaScript頁面中看到這10,000個值。使用服務器Java&Javascript客戶端與Apache Thrift的數組
我已經有一個簡單的服務器Java和客戶端Javascript共享2雙打。
這是2個雙打的節儉文件:
namespace java test_thrift
service test{
double number(1:double n1, 2:double n2)
}
這是我的JavaScript客戶端
function calc() {
var transport = new Thrift.Transport("/service");
var protocol = new Thrift.Protocol(transport);
var client = new testClient(protocol);
var workbench = Math.random()*1000;
try {
result = client.number(workbench);
$('#result').val(result);
$('#result').css('color', 'black');
document.getElementById("demo").innerHTML = result;
} catch(ouch){
$('#result').val(ouch.why);
$('#result').css('color', 'red');
}
}
Im的發送隨機只拿到的範圍內碼返回。實施例:1,從3的值返回到圖9中,2返回一個9至15個值等
而在Java我有一個testHandler類:
public double number(double n1, double n2) throws TException {
//System.out.println(n1 + " - " + n2);
Random rnd = new Random();
n1 = rnd.nextDouble() * 10 + 1;
n2 = rnd.nextDouble() * 15 + 10;
return n2;
}
那麼這將返回值1。我想在我的Javascript頁面中看到所有內容。但有10,000個元素。我怎樣才能做到這一點?
此外,我想補充的是,最終的結構來分享的是這樣的:
dis[10000][3]={
ABC,12.5,13.5,
ACD,14.4,11.5,
.....ETC......}
林卡住
發現這一點,但我不知道如何得到它的工作:/
namespace java test_thrift
typedef list<double> Vector
struct test
{
1:i32 rows,
2:i32 cols,
3:list<Vector> data,
}
鑑於我理解這個問題的權利:怎麼樣使用'名單'和'pair'是一個'struct pair {1:double one,2:double two}'?通過這種方式,您可以通過一次呼叫傳遞儘可能多的數據。如果chaning服務器的IDL不是一個有效的選擇,那麼你必須執行10000次調用(這將是更低的性能) –
JensG
準確地說,我只想進行1次調用並傳遞所有信息。但我不知道如何「名單」的作品。我從來沒有用過它。你知道一些例子嗎? –