TsgcWSPServer_sgcYöntemler › Broadcast

Broadcast Yöntem

Bağlı tüm istemcilere bir metin veya stream yükü yayınlar, isteğe bağlı olarak kanala göre filtrelenir.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

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

Parametreler

NameTypeAçıklama
aMessagestringsgc zarfına sarılmış ve OnMessage aracılığıyla alıcılara teslim edilen metin yükü.
aChannelstring İ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.
ExcludeStringYayını almaması gereken bağlantı Guid'lerinin noktalı virgülle ayrılmış listesi.
IncludeStringYayının (broadcast) kısıtlandığı, noktalı virgülle ayrılmış bağlantı Guid'leri listesi; kanal filtresini geçersiz kılar.

Remarks

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.

Örnek

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

Overload 2

Sözdizimi

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

Parametreler

NameTypeAçıklama
aStreamTStreamWebSocket'te olduğu gibi gönderilen ikili yük; alıcılar onu OnBinary aracılığıyla alır.
aChannelstringİsteğe bağlı kanal filtresi. Sağlandığında, yalnızca o kanala abone olan istemciler çerçeveyi alır.
ExcludeStringÇerçeveyi almaması gereken, noktalı virgülle ayrılmış bağlantı Guid'leri listesi.
IncludeStringÇerçevenin sınırlandığı bağlantı Guid'lerinin noktalı virgülle ayrılmış listesi.
aSizeIntegerYük parçalandığında bayt cinsinden parça boyutu; akışı tek bir çerçeve olarak göndermek için 0 geçirin.
aStreamingTwsStreamingAkışı çerçevelere bölmek için kullanılan akış stratejisi (stmNone, stmFragmented, stmCustom).

Remarks

İ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.

Örnek

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

Yöntemlere Dön