TsgcWSPServer_sgc › Yöntemler › Broadcast
Bağlı tüm istemcilere bir metin veya stream yükü yayınlar, isteğe bağlı olarak kanala göre filtrelenir.
procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');
| Name | Type | Açıklama |
|---|---|---|
aMessage | string | sgc zarfına sarılmış ve OnMessage aracılığıyla alıcılara teslim edilen metin yükü. |
aChannel | string | İsteğe bağlı kanal filtresi. Belirtildiğinde, yalnızca o kanala abone olan istemciler yükü alır; her bağlantıya ulaşmak için boş bırakın. |
Exclude | String | Yayını almaması gereken bağlantı Guid'lerinin noktalı virgülle ayrılmış listesi. |
Include | String | Yayının (broadcast) kısıtlandığı, noktalı virgülle ayrılmış bağlantı Guid'leri listesi; kanal filtresini geçersiz kılar. |
Metin aşırı yüklemesi. Seçilen alıcılara bir method=message zarfı gönderir. QoS Düzey 1 veya Düzey 2 olduğunda sunucu mesajı bekleyen listede saklar ve bağlantı başına onayları bekler, gerekirse yeniden gönderir; QoS Düzey 0 ile mesaj izleme yapılmadan bir kez iletilir.
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 | Açıklama |
|---|---|---|
aStream | TStream | WebSocket'te olduğu gibi gönderilen ikili yük; alıcılar onu OnBinary aracılığıyla alır. |
aChannel | string | İsteğe bağlı kanal filtresi. Sağlandığında, yalnızca o kanala abone olan istemciler çerçeveyi alır. |
Exclude | String | Çerçeveyi almaması gereken, noktalı virgülle ayrılmış bağlantı Guid'leri listesi. |
Include | String | Çerçevenin sınırlandığı bağlantı Guid'lerinin noktalı virgülle ayrılmış listesi. |
aSize | Integer | Yük parçalandığında bayt cinsinden parça boyutu; akışı tek bir çerçeve olarak göndermek için 0 geçirin. |
aStreaming | TwsStreaming | Akışı çerçevelere bölmek için kullanılan akış stratejisi (stmNone, stmFragmented, stmCustom). |
İkili aşırı yükleme. Akışı sgc JSON zarfına sarmadan doğrudan seçili alıcılara gönderir, böylece istemciler ham bir ikili çerçeve görür. Metin aşırı yüklemesinin aksine bu yol QoS bekleyen listesini kullanmaz; teslimat, temel WebSocket taşıma katmanında en iyi çaba (best-effort) ile yapılır.
oStream := TFileStream.Create('image.png', fmOpenRead);
try
oProtocol.Broadcast(oStream, 'news');
finally
oStream.Free;
end;