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 bytewsdata.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

相关推荐
isyangli_blog4 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008114 小时前
FastAPI APIRouter
开发语言·python
Benszen5 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆5 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木5 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
杨充5 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~5 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
basketball6165 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
春生野草6 小时前
反射、Tomcat执行
java·开发语言
雪的季节7 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt