C++Builder相談室 Part21 (327レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
128
(1): 2019/11/19(火)21:55 ID:Ik49gSII(1)調 AAS
ネットワーク関係は
相手が送った量をそのまま受け取れると仮定するのが間違い

分割されて複数になるかもしれないし
結合されてまとめて送られてくるかもしれない

それを大前提として、データはもう送られてこないとわかるまで
何回も受信するのが当然
129: 2019/11/19(火)23:22 ID:oTHzii8i(2/2)調 AAS
>>128
ありがとうございます。
とりあえずこんな感じにしたらできました。

void __fastcall TForm1::IdTCPServerExecute(TIdContext *AContext)
{
 TIdBytes buf;

 if (!AContext->IOHandler->InputBufferIsEmpty()) {
  buf.Length = 0;
  while(1) {
   AContext->Connection->IOHandler->CheckForDataOnSource(100);
   if (!AContext->IOHandler->InputBufferIsEmpty()) {
    break;
   }
   AContext->Connection->IOHandler->ReadBytes(buf, -1, true);
  }
  RecvStr = TEncoding::UTF8->GetString(buf);
 }
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s