前言:
適合新手,不太理解WebSocket,本文簡述在VS2015下創建WebSocket程序和運行環境搭建.
對於我來說,WebSocket的主要作用是服務器推送信息給客戶端,說白了就是客戶端能實時收到通知
步驟:
首先配置環境
在 控制面板 裏 打開 程序和功能
打開 啓用或關閉Windows功能 ,鉤選 WebSocket協議
安裝即可
然後創建項目
創建MVC項目TestWebSocket(我選擇 不進行身份驗證 本人對身份驗證還未精通)
在跟目錄下創建一般處理程序 WSHandler.ashx
運行一下,在網址輸入localhost:XXXX(運行時的端口,後文不增加了)/wshandler.ashx,頁面會顯示 Hello World
ProcessRequest代碼修改
if(context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessWS);
}
只接收WebSocket連接
增加ProcessWS函數
發送API
WebSocket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
接收API
WebSocket.ReceiveAsync(buffer, CancellationToken.None);
接收出來的buffer可以這樣轉換成文字
string userMsg = Encoding.UTF8.GetString(buffer.Array, 0, result.Count);//發送過來的消息
編寫前端
主要JS
ws = new WebSocket('ws://localhost/WsHandler.ashx?user=abc);
上面的網址需要跟據自行修改
ws.onopen = function () { }
ws.onmessage = function (evt) {}
ws.onerror = function (evt) {}
ws.onclose = function () {}
分別對應 連接成功,收到消息,連接出錯,連接關閉 的API運行測試
完善對應邏輯後效果圖
Ps:
連接出現 {"isTrusted":true}說明網址連接不上
只是調試的話需要在本機打開兩個網頁