掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ClientSocket のイベントについて (ID:9150)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すでに画面にTCPClientが張り付いてるとして ボタンクリック時に送信し、サイズチェックし、 すべて送信完了できたら、他を行なう場合 下記のようになると思います。 送信バッファや、送信内容は適当です。 ファイルの内容をサーバーに送信し完了を待つのであれば ファイルサイズからもとに、SendBufで送信できたサイズを 比較していくと良いと思います。 procedure TForm1.Button1Click(Sender: TObject); var Buf :Array [0..10]of char; buflen:Integer; nRet:Integer; nTotalsize:Integer; nNowSendSize:Integer; begin buflen:=3; Buf[0] :='A'; buf[1] :='B'; buf[2] :='C'; nTotalsize := 3; nNowSendSize :=0; TCPClient1.Active:=True; if TCPClient1.Connected then begin nRet := TcpClient1.SendBuf(buf,buflen); //もしSendBufの戻り値がマイナスであれば正常に //送信できていないのでその場合は、再送信などリトライを・・ //無事送信できていれば、送信できたサイズを足しこむ nNowSendSize := nNowSendSize + nRet; if nNowSendSize >= nTotalsize then begin //無事にすべて送信できた end; end; TCPClient1.Active := False; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.