Java入門・初心者質問スレ [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0789デフォルトの名無しさん
2016/10/11(火) 14:32:11.26ID:2NSr+frLWindowsAPIで作成したサーバーとWindowsAPIで作成したクライアント同士の通信では問題無いのですが
基本的には問題無く動作していて
たまにInputStreamのreadの戻り値がdata.lengthになり
欲しいデータの後ろに不必要なデータが入っていたり(ここはヘッダ情報から特定可能なので対処可能です)
欲しいデータの前に不必要なデータが入っている事があるのはどうしてですか?
試しにまったく同じデータを間隔を開けて送信すると問題が再現できる時とできない時があります
InputStream input; = socket.getInputStream();
byte data [] = new byte[1024];
int position = 0;
ループ {
receivesize = input.read(data, position, data.length - position);
// 必要なデータが300でもreceivesizeが1024になる事がある
position += receivesize;
}
最少構成のコードはこんな感じです
分かる人がいたらお願いします
足りない情報があったらすみません補足します
開発環境は Windows Vista
動作環境は Androidです
■ このスレッドは過去ログ倉庫に格納されています