Non, SignalR est une abstraction sur une connexion. Il vous donne deux modèles de programmation sur la connexion (moyeux et les connexions persistantes). SignalR a une notion de transports, à chaque des transports décide de la façon dont les données envoyées/reçues et de la façon dont il se connecte et se déconnecte.
SignalR a un peu construit en transports en commun:
- Les WebSockets
- Serveur A Envoyé Des Événements
- Forever Cadre
- Le temps d'interrogation
SignalR essaie de choisir le "meilleur" de connexion pris en charge par le serveur et le client (vous pouvez également forcer à utiliser un transport spécifique).
C'est le haut niveau. Si vous voulez voir comment chaque transport est mis en place, vous pouvez regarder le code source.
Il y a aussi le code client pour chaque transport:
https://github.com/SignalR/SignalR/tree/master/src/Microsoft.AspNet.SignalR.Client.JS
Si vous vous posez la question sur la façon dont le temps d'interrogation ouvrages de transport, en particulier:
Il envoie une requête ajax vers le serveur qui est en attente de façon asynchrone pour un signal de répondre. Quand il y a un signal ou à la demande de son temps, elle retourne à partir du serveur et envoie une demande et le processus continue. (J'ai laissé quelques détails sur la façon dont le client qu'il garde la trace de ce qu'il a vu donc ça ne manquez pas les messages)
J'espère que ça répond à la plupart de votre question.