예제 #1
0
        public async Task TestIcpIpConectToServerWhenNoServerIsRunningAsync()
        {
            using var tcpIp = new TcpIpConnectivity(port: 12345);
            var ex = await Assert.ThrowsAnyAsync <SocketException>(async() => await tcpIp.ConnectToServerAsync(numTimesToRetry: 2, delayMillis: 50));

            XAssert.IsNotNull(ex);
        }
예제 #2
0
 private async Task WithClient(TcpIpConnectivity tcpIpProvider, Func <NetworkStream, Task> action)
 {
     using (var tcpClient = await tcpIpProvider.ConnectToServerAsync())
         using (var stream = tcpClient.GetStream())
         {
             await action(stream);
         }
 }
예제 #3
0
 private async Task AssertPingServerFromNewClient(TcpIpConnectivity tcpIpProvider)
 {
     using (var tcpClient = await tcpIpProvider.ConnectToServerAsync())
         using (var stream = tcpClient.GetStream())
         {
             await AssertPingServer(stream);
         }
 }
예제 #4
0
 private async Task WithSetup(string testName, Func <MultiplexingClient, Socket, Task> testAction)
 {
     using (var tcpConnectivity = new TcpIpConnectivity(Utils.GetUnusedPortNumber()))
     {
         var serverSocketTask = Task.Run(() => tcpConnectivity.AcceptClientAsync(CancellationToken.None));
         using (var tcpClient = await tcpConnectivity.ConnectToServerAsync())
             using (var serverSocket = await serverSocketTask)
             {
                 var client = new MultiplexingClient(ClientConfigWithLogger(testName), tcpClient.GetStream());
                 await testAction(client, serverSocket);
             }
     }
 }