- - PR -
tomcatにバイナリデータを送りたい
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-08 01:03
私のとりあえずの解決策としてですが、
クライアントはURLConnectionで通信路を確保し、OutputStream/InputStreamをgetして、 write(byte[])等でバイトデータを送ります。 サーブレットの方は、Httpリクエスト/レスポンスからOutputStream/InputStreamをgetして、read(byte[])して、すぐにwrite(byte[])します。 クライアントで受信するときは、read(byte[])します。 read()したときのデータとwrite()したときのデータを比べて、 同じであれば成功です。 データは、 byte[] data = new byte[BUFSIZE]; for(int i = 0; i < BUFSIZE; i++){ data[i] = (byte)i; } 等でバッファ分作成しておいて使いました。 クライアント側のwrite(), read()は実際には、 int len = DATASIZE; //DATASIZE(送りたいデータサイズ) while(len > 0){ l = (len < BUFSIZE) ? len : BUFSIZE; write(data, 0, l); len -= l; } 等で送りました。 受信時も同様です。 |