0
点赞
收藏
分享

微信扫一扫

面试算法常考题之-------逆波兰式合集

*******************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();
 
————————————————

举报

相关推荐

0 条评论