System.Win.ScktComp.TCustomWinSocket.SendBuf
Delphi
function SendBuf(var Buf; Count: Integer): Integer;
C++
int __fastcall SendBuf(void *Buf, int Count);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Win.ScktComp.pas System.Win.ScktComp.hpp |
System.Win.ScktComp | TCustomWinSocket |
説明
Buf パラメータから Count バイトのデータをソケット接続に書き込みます。
SendBuf メソッドを呼び出すと,ソケット接続に情報を書き込むことができます。このメソッドは,Windows ソケットオブジェクトの OnSocketEvent イベントハンドラ,あるいはソケットコンポーネントの OnWrite または OnClientWrite イベントハンドラから呼び出します。反対に SendBuf を使用すると,接続の相手側のソケットが読み出すことになっていることの通知をソケットが期待していないときに,いつ接続が初めて確立されたかを書き込むことができます。
非ブロッキングソケットの場合,データは独自の内部バッファを持つ WinSock DLL に送られます。WinSock が追加のデータを受け付ける場合,SendBuf はキューにあるバイト数をただちに返します。WinSock の内部バッファスペースが送信されるバッファを受け付けられない場合,SendBuf は -1 を返し,キューにはデータが入りません。この場合は,WinSock がすでにキューにあるデータを送信する機会を得るのを少し待ってから,再試行します。
ブロッキングソケットの場合,SendBuf は実際に書き込まれたバイト数を返します。
接続への書き込み中にエラーが発生した場合は,SendBuf は接続を終了し,ESocketError 例外を生成します。