SignalR Nedir ?
Last updated
Was this helpful?
Last updated
Was this helpful?
Gerçek zamanalı uygulamalar geliştirmek için yazılmış açık kaynak kodlu bir .NET kütüphanedir. Bağlı olan Client'lara gerçek zamanlı olarak veri geçişi sağlamak için kullanılan bir kütüphanedir.
SignalR Kullanıldığı Alanlar 1- Sosyal Medya/Mesajlaşma Uygulamaları 2- Gerçek Zamanlı İzleme Uygulamaları 3- İş Takip Uygulamaları => Örnek; Trello,Jira gibi görev takip uygulamaları
Neden SignalR ? 1- Konfigürasyonların ve sürekli yapılması gereken (bağlantı kesildiğinde tekrar bağlanma gibi) işlemlerin SignalR kütüphanesi tarafından kolayca yapılması 2- Veri transferi için kurulacak olan Ajax Long Polling, Forever Frame, Web Sockets, Server Send Events gibi bağlantıların SignalR tarafından otomatik olarak yapılması 3- Hub ve Persistence Connection seçenekleri sunar. Ancak Hub kullanmak daha kolay ve yeterli olacaktır.
SignalR İletişim Modelleri
Persistence Connection Persistence Connection API, SignalR’ın geliştiricilere verdiği düşük seviye iletişim protokolünü ortaya çıkarmaktadır. HTTP üzerinden SignalR servislerinin açılmasını sağlar. WCF bağlantı tabanlı API’leri kullananlar bu modele daha aşina olacaktır.
Hub Hub bağlantısı, Persistence bağlantısı üzerine yazılmış client ve server metodlarını direkt olarak çağırmamızı sağlayan high-level bir API’dir. Ayrıca metodlara parameter ile ve model binding özelliğini de sağlamaktadır.
SignalR İletişim (Transport) Yöntemleri
SignalR yaptığı en önemli iş abstaction'dur. JS metodlarını sunucu tarafında çağırmaktadır. Ayrıca client ve server arasında çalışacak olan real-time uygulamalarımızda gerekli olan transport yönetimini otomatik olarak seçmektedir. SingalR bağlantısı, HTTP bir bağlantı gibi başlar ve daha sonra uygunsa WebSocket bağlantısı kurar.
SignalR Clients Metodları
All: Bu komutla giriş yapan (login) tüm kullanıcılarda, yapılan işlemerin gerçek zamanlı gösterilir.
AllExcept: Kendimiz hariç diğer tüm kullanıcılarda tetiklenen değişiklikleri gösterir. Clients.AllExpect(id) olarak çağrıldığında, verilen Id hariç diğer tüm kullanıcılarda değişiklik yapılan işlemler gerçek zamanlı gösterilir.
Caller: Geçerli olan bağlantı ID’si (giriş yapan ID) bir değişiklik yaptığında, değişiklikleri gösterir. Caller fonksiyonuna, Caller(id) ile çağrılan belirli bir kullanıcı id’si verilebilir.
Group: Bir grup içerisinde grup adı ve kendi bağlantı ID’miz hariç değişikliklerin tetiklenmesi yapılmaktadır.
KAYNAKÇA