TsgcWebSocketServer | Sunucu İkili Mesaj Alma

Sunucu bir İkili Mesaj aldığında, OnBinary olayı tetiklenir. Alınan ikili mesajı almak için Data parametresini okuyun.


procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
var
  oBitmap: TBitmap;
begin
  oBitmap := TBitmap.Create;
  Try
    oBitmap.LoadFromStream(Data);
    Image1.Picture.Assign(oBitmap);
    Log(
      '#image uncompressed size: ' + IntToStr(Data.Size) +
      '. Total received: ' + IntToStr(Connection.RecBytes));
  Finally
    FreeAndNil(oBitmap);
  End;
end;

Varsayılan olarak sunucu, OnMessage olayını göndermek için neAsynchronous yöntemini kullanır, bu da bu olayın Ana İş Parçacığı bağlamında yürütüldüğü anlamına gelir, bu nedenle örneğin bir formun herhangi bir kontrolünü güncellemek için iş parçacığı güvenlidir.

 

Sunucunuz çok sayıda mesaj alıyorsa veya diğer iş parçacıklarıyla senkronizasyonu kontrol etmeniz gerekiyorsa, NotifyEvents özelliğini neNoSync olarak ayarlayın; bu, OnMessage olayının bağlantı iş parçacığı bağlamında yürütüleceği anlamına gelir, bu nedenle bir formun herhangi bir kontrolünü güncellemeniz veya paylaşılan nesnelere erişmeniz gerekiyorsa, kendi senkronizasyon yöntemlerinizi uygulamalısınız.