WebSocket
文章平均质量分 75
Anlige
啥都不会,啥也会点。
展开
-
C#实现WebSocket服务器:(05)实现聊天室-前端部分
这两篇文章主要是对我们前面对WebSocket协议的实现,通过自定义payload内容实现一个简单的聊天室。可以实现多聊天室、聊天室切换功能,后端代码都实现了,只是我们前端没去实现。原创 2021-09-16 23:02:17 · 2357 阅读 · 0 评论 -
C#实现WebSocket服务器:(04)实现聊天室-协议和后端部分
从后台到前端,实现一个简单的聊天室,实现效果:`用户登录`、`发送消息`、`接收消息`、`用户离开`。大部分逻辑是基于Text消息类型,将具体的消息封装成`JSON`字符串在客户端和服务器间传送。原创 2021-09-16 22:13:32 · 809 阅读 · 0 评论 -
C#实现WebSocket服务器:(03)消息收发的封装
前文我们实现了WebSocket消息的读取和发送:C#实现WebSocket服务器:(02)消息帧分析和代码实现但是我们所有的逻辑都是写在OnWebSocket方法的,并不方便扩展,现在我们封装一个Messager抽象类,封装消息的读取和发送。Messager类封装我们将在类中暴露一些必要的方法。下面我们用消息这个词,而不是帧,因为一条消息可能是由多个帧(例如Text帧+N个Continuation帧)组成的。方法说明Accept在OnWebSocket方法中,调用具体Mes原创 2021-09-11 15:40:36 · 4024 阅读 · 0 评论 -
C#实现WebSocket服务器:(02)消息帧分析和代码实现
前文我们介绍了WebSocket的握手:C#实现WebSocket服务器:(01)握手握手完成后,即可客户端和服务端双方即可进行消息的收发。WebSocket消息的收发是以帧为单位的。0、WebSocket的帧帧类型Op常用帧类型有以下六种:值类型说明0x00Continuation后续帧,当一个帧是非结束帧的时候,后续帧会被标记为Continuation,应用程序需要一直读下一个帧,直到读到结束帧。0x01Text数据帧:文本,说明帧的Payload为文本经原创 2021-09-10 16:01:19 · 2371 阅读 · 0 评论 -
C#实现WebSocket服务器:(01)握手
WebSocket的握手是基于HTTP的,HTTP请求的Connection标头值为Upgrade,Upgrade标头的值为websocket,即表示当前请求为WebSocket握手请求。原创 2021-09-09 17:06:57 · 1413 阅读 · 0 评论 -
WebSocket:响应头‘Sec-WebSocket-Accept‘的生成
private static string SHA1(byte[] clearData) { using (System.Security.Cryptography.SHA1 sha1 = System.Security.Cryptography.SHA1.Create()) { return Convert.ToBase64String(sha1.ComputeHash(clearData)); } } //固定值,拼接到末...原创 2021-08-25 17:25:08 · 2455 阅读 · 0 评论