CSharpUtils._45.Tests.FastcgiServerAsyncTest.TestSimpleConnectionAsync C# (CSharp) Метод

TestSimpleConnectionAsync() защищенный Метод

protected TestSimpleConnectionAsync ( ) : Task
Результат Task
		async protected Task TestSimpleConnectionAsync()
		{
			var FastcgiServerAsync = new TestFastcgiServerAsync();
			FastcgiServerAsync.Debug = true;
			var ServerPort = NetworkUtilities.GetAvailableTcpPort();
			FastcgiServerAsync.ListenAsync(ServerPort, "127.0.0.1");
			var Client = new TcpClient();
			await Client.ConnectAsync("127.0.0.1", ServerPort);
			var ClientStream = Client.GetStream();
			
			await new FastcgiPacket()
			{
				Version = 1,
				Type = CSharpUtils.Web._45.Fastcgi.Fastcgi.PacketType.FCGI_BEGIN_REQUEST,
				RequestId = 1,
				Content = new ArraySegment<byte>(new byte[] { 0, 0, 0 }),
			}.WriteToAsync(ClientStream);

			await new FastcgiPacket()
			{
				Version = 1,
				Type = CSharpUtils.Web._45.Fastcgi.Fastcgi.PacketType.FCGI_PARAMS,
				RequestId = 1,
				//Content = new ArraySegment<byte>(new byte[] { 0, 0 }),
				Content = new ArraySegment<byte>(new byte[] { }),
			}.WriteToAsync(ClientStream);

			await new FastcgiPacket()
			{
				Version = 1,
				Type = CSharpUtils.Web._45.Fastcgi.Fastcgi.PacketType.FCGI_STDIN,
				RequestId = 1,
				//Content = new ArraySegment<byte>(new byte[] { 0, 0 }),
				Content = new ArraySegment<byte>(new byte[] { }),
			}.WriteToAsync(ClientStream);

			await ClientStream.FlushAsync();

			for (int n = 0; n < 10; n++)
			{
				if (!Client.Connected) return;
				Thread.Sleep(TimeSpan.FromMilliseconds(10));
			}

			throw (new Exception("Socket not disconnected"));
		}