C# WebSocket 服务器

*******************websocket服务器**************************************

第一步:创建HttpListener类,并启动监听:

var listener = new HttpListener();

listener.Prefixes.Add("http://10.10.13.140:8080/");

listener.Start();

第二步:等待连接

var context = listener.GetContext();

第三步:接收websocket

var wsContext = await context.AcceptWebSocketAsync(null);

var ws = wsContext.WebSocket;

Console.WriteLine("WebSocket connect");

第四步:开始异步接收数据

//接收数据

var wsdata = await ws.ReceiveAsync(abuf, cancel);

Console.WriteLine(wsdata.Count);

byte[] bRec = new byte[wsdata.Count];

Array.Copy(buf, bRec, wsdata.Count);

Console.WriteLine(Encoding.Default.GetString(bRec));

第五步:释放资源

//注意,使用完,记得释放,不然会有内存泄漏

ws.Dispose();

*******************websocket客户端****************************************

这里使用ClientWebSocket类进行

第一步:创建ClientWebSocket

ClientWebSocket webSocket = new ClientWebSocket();

第二步:建立websocket连接

await webSocket.ConnectAsync(new Uri("ws://10.10.13.140:8080/"), cancellation);

Console.WriteLine(111);

第三步:发送数据

//发送数据

await webSocket.SendAsync(new ArraySegment<byte>(bsend), WebSocketMessageType.Binary, true, cancellation);

await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "1", cancellation);

第四步:释放资源

//释放资源

webSocket.Dispose();


版权声明:本文为CSDN博主「g0415shenw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/g0415shenw/article/details/80365554

相关推荐
froginwe1113 小时前
jEasyUI 创建基础树形网格
开发语言
月昤昽14 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_202514 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
Cyber4K14 小时前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技14 小时前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
周末也要写八哥14 小时前
代码中的注释的重要性(二)
开发语言·python
江南十四行16 小时前
Python生成器与协程:从迭代器到异步编程的进阶之路
开发语言·python
测试员周周16 小时前
【AI测试功能3】AI功能测试的三层架构:单元测试 → 集成测试 → E2E测试——AI系统测试金字塔实战指南
开发语言·人工智能·python·功能测试·架构·单元测试·集成测试
lly20240616 小时前
AppML 案例原型
开发语言
jllllyuz16 小时前
MATLAB 回声抵消(AEC)、噪声抑制(NS)、自动增益控制(AGC)完整实现
开发语言·matlab