TsgcWSPServer_sgc › 메서드 › Broadcast
연결된 모든 클라이언트에 텍스트 또는 스트림 페이로드를 브로드캐스트하며, 선택적으로 채널별로 필터링합니다.
procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');
| Name | Type | 설명 |
|---|---|---|
aMessage | string | sgc 봉투로 래핑되어 OnMessage를 통해 수신자에게 전달되는 텍스트 페이로드입니다. |
aChannel | string | 선택적 채널 필터입니다. 제공되면 해당 채널에 구독한 클라이언트만 페이로드를 받습니다. 모든 연결에 도달하려면 비워 두십시오. |
Exclude | String | 브로드캐스트를 수신하지 않아야 하는 연결 Guid의 세미콜론으로 구분된 목록. |
Include | String | 브로드캐스트가 제한되는 연결 Guid의 세미콜론으로 구분된 목록으로, 채널 필터를 재정의합니다. |
텍스트 오버로드입니다. 선택된 수신자에게 method=message 봉투를 보냅니다. QoS가 Level 1 또는 Level 2인 경우 서버는 메시지를 대기 목록에 저장하고 연결별 확인을 기다리며, 필요하면 재전송합니다. QoS Level 0인 경우 메시지는 추적 없이 한 번 전송됩니다.
oProtocol.Broadcast('hello everyone');
oProtocol.Broadcast('channel update', 'news');
procedure Broadcast(aStream: TStream; aChannel: string = ''; Exclude: String = ''; Include: String = ''; aSize: Integer = 0; aStreaming: TwsStreaming = stmNone);
| Name | Type | 설명 |
|---|---|---|
aStream | TStream | WebSocket에 그대로 전송되는 바이너리 페이로드. 수신자는 OnBinary를 통해 이를 받습니다. |
aChannel | string | 선택적 채널 필터. 제공되면 해당 채널을 구독한 클라이언트만 프레임을 받습니다. |
Exclude | String | 프레임을 수신해서는 안 되는 연결 Guid의 세미콜론으로 구분된 목록입니다. |
Include | String | 프레임이 제한되는 연결 Guid의 세미콜론으로 구분된 목록입니다. |
aSize | Integer | 페이로드가 프래그먼트화될 때 바이트 단위의 청크 크기입니다. 스트림을 단일 프레임으로 보내려면 0을 전달하십시오. |
aStreaming | TwsStreaming | 스트림을 프레임으로 분할하는 데 사용되는 스트리밍 전략(stmNone, stmFragmented, stmCustom)입니다. |
바이너리 오버로드입니다. 스트림을 sgc JSON 봉투로 래핑하지 않고 선택된 수신자에게 직접 디스패치하므로, 클라이언트는 원시 바이너리 프레임을 봅니다. 텍스트 오버로드와 달리 이 경로는 QoS 대기 목록을 사용하지 않습니다. 전달은 기본 WebSocket 전송에서 최선 노력 방식입니다.
oStream := TFileStream.Create('image.png', fmOpenRead);
try
oProtocol.Broadcast(oStream, 'news');
finally
oStream.Free;
end;