前言:
适合新手,不太理解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}说明网址连接不上
只是调试的话需要在本机打开两个网页