TsgcWebSocketClient › メソッド › WriteData
WebSocket サーバーにテキストメッセージを送信します。オプションで指定したサイズのフラグメントに分割できます。
procedure WriteData(const aText: String; const aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| 名前 | タイプ | 説明 |
|---|---|---|
aText | const String | WebSocketテキストフレームとしてサーバーへ送信するテキストペイロードです。 |
aSize | const Integer | オプションのフラグメントサイズ(バイト単位)。ゼロより大きい場合、メッセージはこのサイズの複数のフラグメントに分割されます。メッセージ全体を単一フレームとして送信するにはデフォルトの 0 を使用してください。 |
aStreaming | const TwsStreaming | フラグメント化された送信のストリーミングモード(stmNone、stmStart、stmContinue、stmFinish)。デフォルトは stmNone で、完全なスタンドアロンメッセージを送信します。 |
WriteData は、アクティブな接続上で文字列を WebSocket テキスト フレームとして送信します。デフォルトでは呼び出しは呼び出し元スレッドで実行され、バイトがソケットに渡されると返ります。QueueOptions.Text が qmNone 以外の値に設定されている場合、メッセージはキューに入れられ、接続固有のスレッドから実際に送信されます。これにより、複数スレッドが同時に書き込む場合のロックを防ぎます。クライアントが接続されていない場合、この呼び出しは何も行いません。ソケット例外は OnError に転送されます。大きなペイロードやバイナリ データを送信する場合はストリーム オーバーロードを使用してください。
oClient.WriteData('My First sgcWebSockets Message!.');
procedure WriteData(const aStream: TStream; const aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| 名前 | タイプ | 説明 |
|---|---|---|
aStream | const TStream | 内容が WebSocket バイナリフレームとして送信されるソースストリーム。呼び出し元はストリームのオーナーのままです。 |
aSize | const Integer | オプションのフラグメントサイズ (バイト単位)。ゼロより大きい場合、ストリームはこのサイズの複数のフラグメントに分割されます。ストリーム全体を単一のフレームとして送信するにはデフォルトの 0 を使用してください。 |
aStreaming | const TwsStreaming | フラグメント化された送信のストリーミングモード(stmNone、stmStart、stmContinue、stmFinish)。デフォルトは stmNone で、完全なスタンドアロンメッセージを送信します。 |
WriteData は供給されたストリームを現在位置から読み取り、内容を WebSocket バイナリフレームとして送信します。呼び出しはデフォルトで呼び出し元スレッド上で実行されます。QueueOptions.Binary が qmNone 以外の値に設定されている場合、メッセージはキューに入れられ、実際には接続スレッドからディスパッチされます。クライアントが接続されていない場合、このメソッドは何も行いません。ソケット例外はキャプチャされ、OnError に転送されます。ストリームは呼び出しが返った後(またはキューイング時は送信完了後)にのみ解放してください。
oStream := TMemoryStream.Create;
try
oStream.LoadFromFile('payload.bin');
oClient.WriteData(oStream);
finally
oStream.Free;
end;