gpt4 book ai didi

javascript - 使用服务器 Java 和 Javascript 客户端的 Apache Thrift 数组

转载 作者:行者123 更新时间:2023-12-02 03:27:46 26 4
gpt4 key购买 nike

我使用 Javascript 来显示 Java 生成的信息。我谈论的是 10,000 个数据,所有这些数据都是用 Java 生成的,并且为了使用随机值进行测试。好吧,我想在我的 javascript 页面中看到这 10,000 个值。

我已经有一个简单的服务器 Java 和一个客户端 Javascript 来共享 2 个 double 。

这是 2 个 double 的 Thrift 文件:

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');
}
}

我发送随机只是为了获取返回的范围。示例: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,
}

最佳答案

使用此 IDL 文件

namespace java test_thrift

struct MyPair {
1: double one
2: double two
}

service test{
list<double> number( 1 : list<MyPair> data)
}

然后像这样调用该函数:

var list = [];
for( var i = 0; i < 10000; ++i) {
list.push({
one : Math.random()*1000,
two : Math.random()*1000
});
}
result = client.number(list);

结果应该是您的返回值列表,当然服务器端是相应实现的。

关于javascript - 使用服务器 Java 和 Javascript 客户端的 Apache Thrift 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38577195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com