*******************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