System.Win.ScktComp.TWinSocketStream.Write

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function Write(const Buffer; Count: Longint): Longint; override;

C++

virtual int __fastcall Write(const void *Buffer, int Count)/* overload */;
inline int __fastcall  Write(const System::DynamicArray<System::Byte> Buffer, int Offset, int Count){ return System::Classes::TStream::Write(Buffer, Offset, Count); }
inline int __fastcall  Write(const System::DynamicArray<System::Byte> Buffer, int Count){ return System::Classes::TStream::Write(Buffer, Count); }

プロパティ

種類 可視性 ソース ユニット
function public
System.Win.ScktComp.pas
System.Win.ScktComp.hpp
System.Win.ScktComp TWinSocketStream

説明

Write は,Buffer から Count で指定するバイト数をソケット接続に書き込みます。

Write メソッドを使用すると,Buffer からソケット接続にデータを書き込むことができます。Write メソッドは転送されたバイト数を返します。

ソケット接続が極度に低速で,書き込み処理が TimeOut ミリ秒(TimeOut プロパティ値)経過しても完了しないと,Write メソッドは 0 を返すことがあります。これにより,ソケット接続で問題が生じても Write メソッドが無期限に待ち受け状態にならないことが保証されます。

接続速度の遅さのために Write メソッドがタイムアウトするのを防ぐには,Count の値を大きくして呼び出し回数を少なくするのではなく,Count を小さめの値に設定して Write を複数回呼び出すようにします。

WriteBuffer メソッドとは異なり,Count で指定したバイト数が書き込まれなくても Write は例外を生成しません。たとえば,回線速度が低速すぎてすべてのデータを送信できない場合,Write は 0 を返しますが,WriteBuffer は例外を生成します。

関連項目