Exemplo n.º 1
0
        public void Connected_clients_should_have_proper_end_points()
        {
            SocketServer server;
            SocketClient c1, c2;

            ServerHelpers.CreateServerAndConnectedClient(out server, out c1, out c2);

            Assert.Equal(c1.LocalEndPoint, c2.RemoteEndPoint);
            Assert.Equal(c1.RemoteEndPoint, c2.LocalEndPoint);

            server.StopAndAssertStopped();
        }
Exemplo n.º 2
0
        public void Send_packets_should_be_received()
        {
            SocketServer server;
            SocketClient c1, c2;
            var          buffer = DataHelpers.CreateRandomBuffer(204800);

            ServerHelpers.CreateServerAndConnectedClient(out server, out c1, out c2);

            var recvBuffer  = c2.ReceiveData(204800, 2000, () => c1.Send(buffer));
            var recvBuffer2 = c1.ReceiveData(204800, 2000, () => c2.Send(buffer));

            Assert.Equal(buffer, recvBuffer);
            Assert.Equal(buffer, recvBuffer2);
        }
Exemplo n.º 3
0
        public void If_server_closes_then_client_should_raise_disconnect_event()
        {
            var disconnectedCalled = new ManualResetEventSlim();

            SocketServer server;
            SocketClient serverClient, remoteClient;

            ServerHelpers.CreateServerAndConnectedClient(out server, out serverClient, out remoteClient);

            remoteClient.Disconnected.Subscribe(exn =>
            {
                Assert.IsType(typeof(SocketException), exn);
                Assert.Equal((int)SocketError.Disconnecting, ((SocketException)exn).ErrorCode);
                disconnectedCalled.Set();
            });

            serverClient.Disconnected.Subscribe(exn =>
            {
            });
            server.Stop();
            serverClient.Close();

            disconnectedCalled.AssertWaitFor(5000);
        }