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

相关推荐
itzixiao9 分钟前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
Lightning-py16 分钟前
Python 配置日志(Logging)
开发语言·python
隔窗听雨眠21 分钟前
MySQL主从延迟根因诊断法
开发语言·php
Hui_AI72027 分钟前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新
CDwenhuohuo27 分钟前
前端文件预览
开发语言·前端·javascript
charlie11451419133 分钟前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
IT猿手35 分钟前
SCI一区:章鱼优化算法(Octopus Optimization Algorithm, OOA)求解23个测试函数,出图丰富,提供完整MATLAB代码
开发语言·算法·matlab
程序员JerrySUN35 分钟前
Jetson边缘嵌入式实战课程第二讲:JetPack 和 SDK Manager 是什么
c语言·开发语言·网络·udp·音视频
不知名的老吴35 分钟前
后端知识点:Python处理加权点赞
开发语言·python
海参崴-1 小时前
C++ STL篇 AVL树的模拟实现
开发语言·c++