Beispiel #1
0
        public void CloseConnection()
        {
            var server = new CloseConnectionServer();
            var client = new CloseConnectionClinet(server.LocalEndPoint);

            lock (testLock)
            {
                while (clientSocket == null)
                {
                    Monitor.Wait(testLock);
                }
            }
            clientSocket.Close();
            byte[] sendMessage = new UTF8Encoding(true).GetBytes("Hello bcp-server!");
            IList <ArraySegment <byte> > sendBuffer       = new List <ArraySegment <byte> >();
            ArraySegment <byte>          pingArraySegment = new ArraySegment <byte>(sendMessage, 0, sendMessage.Length);

            sendBuffer.Add(pingArraySegment);
            client.Send(sendBuffer);
            lock (testLock)
            {
                while (serverResult == null)
                {
                    Monitor.Wait(testLock);
                }
            }
            Assert.AreEqual(serverResult, "Hello bcp-server!");

            client.ShutDown();
            server.Clear();
        }
Beispiel #2
0
        public void SeqSend()
        {
            var server = new CloseConnectionServer();
            var client = new CloseConnectionClinet(server.LocalEndPoint);

            lock (testLock)
            {
                while (clientSocket == null)
                {
                    Monitor.Wait(testLock);
                }
            }

            client.SendString("a");
            client.SendString("b");

            lock (testLock)
            {
                while (serverReceivedResult.Count < 2)
                {
                    Monitor.Wait(testLock);
                }
            }

            clientSocket.Close();
            client.SendString("c");
            client.SendString("d");

            lock (testLock)
            {
                while (serverReceivedResult.Count < 4)
                {
                    Monitor.Wait(testLock);
                }
            }

            List <string> result = new List <string>();

            result.Add("a");
            result.Add("b");
            result.Add("c");
            result.Add("d");
            CollectionAssert.AreEquivalent(serverReceivedResult, result);

            client.ShutDown();
            server.Clear();
        }
Beispiel #3
0
        public void SeqSend()
        {
            var server = new CloseConnectionServer();
            var client = new CloseConnectionClinet(server.LocalEndPoint);

            lock (testLock)
            {
                while (clientSocket == null)
                {
                    Monitor.Wait(testLock);
                }
            }

            client.SendString("a");
            client.SendString("b");

            lock (testLock)
            {
                while (serverReceivedResult.Count < 2)
                {
                    Monitor.Wait(testLock);
                }
            }

            clientSocket.Close();
            client.SendString("c");
            client.SendString("d");

            lock (testLock)
            {
                while (serverReceivedResult.Count < 4)
                {
                    Monitor.Wait(testLock);
                }
            }

            List<string> result = new List<string>();
            result.Add("a");
            result.Add("b");
            result.Add("c");
            result.Add("d");
            CollectionAssert.AreEquivalent(serverReceivedResult, result);

            client.ShutDown();
            server.Clear();
        }
Beispiel #4
0
        public void CloseConnection()
        {
            var server = new CloseConnectionServer();
            var client = new CloseConnectionClinet(server.LocalEndPoint);

            lock (testLock)
            {
                while (clientSocket == null)
                {
                    Monitor.Wait(testLock);
                }
            }
            clientSocket.Close();
            byte[] sendMessage = new UTF8Encoding(true).GetBytes("Hello bcp-server!");
            IList<ArraySegment<byte>> sendBuffer = new List<ArraySegment<byte>>();
            ArraySegment<byte> pingArraySegment = new ArraySegment<byte>(sendMessage, 0, sendMessage.Length);
            sendBuffer.Add(pingArraySegment);
            client.Send(sendBuffer);
            lock (testLock)
            {
                while (serverResult == null)
                {
                    Monitor.Wait(testLock);
                }
            }
            Assert.AreEqual(serverResult, "Hello bcp-server!");

            client.ShutDown();
            server.Clear();
        }