SignalR needs to have clients and the server talking the same language—a protocol. It supports the following communication protocols (or message transports, if you like):
- WebSockets: In browsers that support it, this is probably the most performant one because it is binary-, not text-, based. Read more about WebSockets here: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API.
- Server-sent events: This is another HTTP standard; it allows the client to continuously poll the server, giving the impression that the server is communicating directly to it; see https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events.
- AJAX long polling: Also known as AJAX Comet, it is a technique by which the client keeps an AJAX request alive, possibly for a long time, until the server provides an answer, which is when it returns and issues another long request.
Usually, signalR determines...