im Javaで生成された情報を表示するためにJavaScriptを使用しています。 Imは10,000のデータを話します。それらのすべてはJavaで生成され、ランダム値を使用してimのテストを行います。まあ、私はJavaScriptのページでこの10,000の値を見たいと思っています。サーバのJava&Javascriptクライアントを使用したApache Thriftの配列
私はすでに2つの倍を共有するシンプルなサーバーJavaとクライアントのJavascriptを持っています。
これは2倍のためのスリフトファイルです:これは私の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');
}
}
イムだけの範囲を取得するために、ランダムに送信するコードです
namespace java test_thrift
service test{
double number(1:double n1, 2:double n2)
}
戻る。例:1等の3から9までの戻り値は、2リターン9〜15値、
とJavaで私はtestHandlerクラスしている:まあ、これは1つの値を
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;
}
を返します。そして、私は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} 'ですか?これにより、1回の呼び出しで必要なだけ多くのデータを渡すことができます。サーバーのIDLをチェーニングするのが有効な選択肢でない場合は、10000のコールを実行する必要があります(パフォーマンスが低下します) –
JensG
ちょうど1回の呼び出しですべての情報を渡したいと思います。しかし、私は "リスト"の仕組みを知らない。私はそれを使用したことはありません。あなたはいくつかの例を知っていますか? –