public async Task SendMessageAsync() { var socket = new Socket(SocketType.Dgram, ProtocolType.Udp); socket.Bind(new IPEndPoint(IPAddress.Loopback, 12345)); using (var peer = new FeatherUdpPeer <BinaryMessage>()) { await peer.SendToAsync(new IPEndPoint(IPAddress.Loopback, 12345), TestMessage1); await peer.SendToAsync(new IPEndPoint(IPAddress.Loopback, 12345), TestMessage2); } byte[] buf = new byte[100]; Int32 len; len = socket.Receive(buf); Assert.Equal(TestPayload1.Length, len); Assert.Equal(TestPayload1, buf.Take(3)); len = socket.Receive(buf); Assert.Equal(TestPayload2.Length, len); Assert.Equal(TestPayload2, buf.Take(3)); }
public async void Dispose() { var peer = new FeatherUdpPeer <BinaryMessage>(); Assert.False(peer.IsDisposed); peer.Bind(12347); Assert.False(peer.IsDisposed); peer.Dispose(); Assert.True(peer.IsDisposed); Assert.Throws <ObjectDisposedException>(() => { peer.SendTo(new IPEndPoint(IPAddress.Loopback, 12346), TestMessage1); }); await Assert.ThrowsAsync <ObjectDisposedException>(async() => { await peer.SendToAsync(new IPEndPoint(IPAddress.Loopback, 12346), TestMessage1); }); }