TsgcWSPServer_sgcメソッド › Broadcast

Broadcast メソッド

テキストまたはストリームのペイロードを、接続されているすべてのクライアントにブロードキャストします。オプションでチャンネルによるフィルタリングが可能です。

オーバーロード

オーバーロード 1

構文

procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');

パラメータ

名前タイプ説明
aMessagestringsgc エンベロープにラップされたテキストペイロード。OnMessage を通じて受信者に配信されます。
aChannelstringオプションのチャンネル フィルター。指定した場合、そのチャンネルにサブスクライブしているクライアントのみがペイロードを受信します。空のままにするとすべての接続に届きます。
ExcludeStringブロードキャストを受信してはならない接続 GUID のセミコロン区切りリスト。
IncludeStringブロードキャストが制限される接続 GUID のセミコロン区切りリスト。チャンネルフィルターを上書きします。

解説

テキストオーバーロードです。method=messageエンベロープを選択した受信者へ送信します。QoSがレベル1またはレベル2の場合、サーバーはメッセージを保留リストに保存し、接続ごとの確認応答を待ち、必要に応じて再送します。QoSレベル0の場合、メッセージは追跡なしで1回だけ送信されます。

使用例

oProtocol.Broadcast('hello everyone');
oProtocol.Broadcast('channel update', 'news');

オーバーロード 2

構文

procedure Broadcast(aStream: TStream; aChannel: string = ''; Exclude: String = ''; Include: String = ''; aSize: Integer = 0; aStreaming: TwsStreaming = stmNone);

パラメータ

名前タイプ説明
aStreamTStreamWebSocket 上でそのまま送信されるバイナリペイロード。受信者は OnBinary を通じて受け取ります。
aChannelstringオプションのチャンネルフィルター。指定された場合、そのチャンネルをサブスクライブしているクライアントのみがフレームを受信します。
ExcludeStringフレームを受信してはならない接続 GUID のセミコロン区切りリスト。
IncludeStringフレームが限定される接続 Guid のセミコロン区切りリスト。
aSizeIntegerペイロードがフラグメント化される場合のバイト単位のチャンクサイズ。ストリームを単一フレームとして送信する場合は 0 を渡します。
aStreamingTwsStreamingストリームをフレームに分割するために使用するストリーミング戦略(stmNonestmFragmentedstmCustom)です。

解説

バイナリオーバーロード。ストリームを sgc JSON エンベロープでラップせずに選択された受信者に直接ディスパッチするため、クライアントは生のバイナリフレームを受け取ります。テキストオーバーロードとは異なり、このパスは QoS 保留リストを使用しません。配信は基盤となる WebSocket トランスポートのベストエフォートです。

使用例

oStream := TFileStream.Create('image.png', fmOpenRead);
try
  oProtocol.Broadcast(oStream, 'news');
finally
  oStream.Free;
end;

メソッドに戻る