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

相关推荐
穆姬姗6 分钟前
【Python】论文长截图、页面分割、水印去除、整合PDF
开发语言·python·pdf
graceyun8 分钟前
牛客网刷题 ——C语言初阶(5操作符)——OR76 两个整数二进制位不同个数
c语言·开发语言
huaqianzkh11 分钟前
了解RabbitMQ的工作原理
开发语言·后端·rabbitmq
BinaryBardC15 分钟前
Ruby语言的数据结构
开发语言·后端·golang
chusheng184029 分钟前
基于 Python Django 的西西家居全屋定制系统(源码+部署+文档)
开发语言·python·django·家具定制系统·python 全屋家具定制系统·python 家居定制
꧁坚持很酷꧂31 分钟前
Qt天气预报系统界面关闭
开发语言·数据库·qt
graceyun35 分钟前
C语言初阶习题(6指针)【21】打印水仙花数
c语言·开发语言
牛马baby36 分钟前
Java高频面试之SE-09
java·开发语言·面试
军训猫猫头1 小时前
插曲.带“?“的类型
c#
橘子海全栈攻城狮1 小时前
【源码+文档+调试讲解】项目申报小程序
java·开发语言·servlet·微信小程序·小程序