🖊️
Message Queue Architecture
  • Rabbit MQ Nedir ?
  • AMQP(Advanced Messaging Queue)
  • MSMQ Nedir ?
  • SignalR Nedir ?
    • WebSocket
Powered by GitBook
On this page

Was this helpful?

SignalR Nedir ?

PreviousMSMQ Nedir ?NextWebSocket

Last updated 4 years ago

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

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

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

https://furkanalaybeg.medium.com/signalr-nedir-617f5873711d#:~:text=SignalR%2C%20ger%C3%A7ek%20zamanl%C4%B1%20uygulamalar%20geli%C5%9Ftirmek,aras%C4%B1nda%20s%C3%BCrekli%20bir%20ba%C4%9Flant%C4%B1%20sa%C4%9Flan%C4%B1r.
https://www.gencayyildiz.com/blog/asp-net-mvc-5-ve-signalr-ile-chat-uygulamasi/
borakasmer.com/signalri-derinlemesine-inceleme/