public void With_WebSocket_FailsWithDoubleMessageRead() { Assert.Throws <WebSocketException>(() => { var handshake = GenerateSimpleHandshake(); using (var ms = new MemoryStream()) using ( WebSocket ws = new WebSocketRfc6455(ms, new WebSocketListenerOptions() { PingTimeout = Timeout.InfiniteTimeSpan }, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1), new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2), handshake.Request, handshake.Response, handshake.NegotiatedMessageExtensions)) { ms.Write(new Byte[] { 129, 130, 75, 91, 80, 26, 3, 50 }, 0, 8); ms.Write(new Byte[] { 129, 130, 75, 91, 80, 26, 3, 50 }, 0, 8); ms.Flush(); ms.Seek(0, SeekOrigin.Begin); var reader = ws.ReadMessage(); reader = ws.ReadMessage(); } }); }
//[ExpectedException(typeof(WebSocketException))] public void With_WebSocket_FailsWithDoubleMessageAwait() { var handshake = GenerateSimpleHandshake(); try { using (var ms = new BufferedStream(new MemoryStream())) using ( WebSocket ws = new WebSocketRfc6455(ms, new WebSocketListenerOptions() { PingTimeout = Timeout.InfiniteTimeSpan }, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1), new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2), handshake.Request, handshake.Response, handshake.NegotiatedMessageExtensions)) { ms.Write(new Byte[] { 129, 130, 75, 91, 80, 26, 3, 50 }, 0, 8); ms.Write(new Byte[] { 129, 130, 75, 91, 80, 26, 3, 50 }, 0, 8); ms.Flush(); ms.Seek(0, SeekOrigin.Begin); ws.ReadMessage(); ws.ReadMessage(); } } catch (WebSocketException) { } catch (Exception) { Assert.Fail("Should throw WebSocketException"); } }