Tidak, SignalR adalah abstraksi atas suatu koneksi. Ini memberi Anda dua model pemrograman melalui koneksi itu (hub dan koneksi persisten). SignalR memiliki konsep transportasi, masing-masing transportasi memutuskan bagaimana data dikirim / diterima dan bagaimana menghubungkan dan memutuskan sambungan.
SignalR memiliki beberapa transportasi bawaan:
- Soket Web
- Server Terkirim Acara
- Bingkai selamanya
- Polling panjang
SignalR mencoba untuk memilih koneksi "terbaik" yang didukung oleh server dan klien (Anda juga dapat memaksanya untuk menggunakan transportasi tertentu).
Itu level tinggi. Jika Anda ingin melihat bagaimana setiap transportasi diimplementasikan, Anda dapat melihat kode sumbernya .
Ada juga kode klien untuk setiap transportasi:
https://github.com/SignalR/SignalR/tree/master/src/Microsoft.AspNet.SignalR.Client.JS
Jika Anda bertanya tentang bagaimana transportasi pemungutan suara panjang bekerja khususnya:
Ini mengirimkan permintaan ajax ke server yang menunggu sinyal untuk merespons secara tidak sinkron. Ketika ada sinyal atau permintaan habis, itu kembali dari server dan mengirimkan permintaan lain dan proses berlanjut. (Saya meninggalkan beberapa detail tentang bagaimana klien melacak apa yang dilihatnya sehingga tidak ketinggalan pesan)
Semoga itu menjawab sebagian besar pertanyaan Anda.