SignalR是一個ASP .NET下的類庫。 WebSocket是HTML5提供的一種通信協議。web
WebSocket 是 HTML5 開始提供的一種在單個 TCP 鏈接上進行全雙工通信的協議。WebSocket 使得客戶端和服務器之間的數據交換變得更加簡單,容許服務端主動向客戶端推送數據。在 WebSocket API 中,瀏覽器和服務器只須要完成一次握手,二者之間就直接能夠建立持久性的鏈接,並進行雙向數據傳輸 。瀏覽器
SignalR是一個ASP .NET下的類庫,能夠在ASP .NET Core的Web項目中實時通訊。在Web網頁與服務器端間創建Socket鏈接,當WebSockets可用時(即瀏覽器支持Html5)SignalR使用WebSockets,當不支持時SignalR將使用長輪詢來保證達到相同效果。服務器
SignalR優先使用支持WebSocket,當遇到不支持的環境時,會使用老的傳輸方式。採用SignalR能夠發揮WebSocket的功效,而不用擔憂老客戶不支持WebSocket。svg
SignalR能夠實現Web應用中實現服務器和客戶端的雙向實時通訊。xml