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

相关推荐
你的冰西瓜1 分钟前
C++ STL算法——非修改序列算法
开发语言·c++·算法·stl
2501_941982052 分钟前
2026马年大吉:基于 Java 的企微外部群主动调用体系
java·开发语言·企业微信
码云数智-大飞5 分钟前
高效应对移动端兼容性问题的实战指南
websocket
独自破碎E5 分钟前
题解 | 灵异背包?
android·java·开发语言
星火开发设计24 分钟前
类模板:实现通用数据结构的基础
java·开发语言·数据结构·c++·html·知识
bugcome_com24 分钟前
# C# 变量作用域详解
开发语言·c#
阿里嘎多学长25 分钟前
2026-02-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
汽车软件工程师00134 分钟前
vector autosar配置一个CAN接收报文,RTE层发现并未接收到信号,怎样查这个问题
开发语言·autosar
寻寻觅觅☆1 小时前
东华OJ-基础题-122-循环数(C++)-难度难
开发语言·c++
Zachery Pole1 小时前
JAVA_04_判断与循环
java·开发语言