Ejemplo n.º 1
0
 public async Task SendAsync(byte [] buffer, IPAddress gatewayAddressNullable, CancellationToken token)
 {
     using (await SocketSendLocker.DisposableWaitAsync(token))
     {
         foreach (var socket in Sockets)
         {
             try
             {
                 if (gatewayAddressNullable == null)
                 {
                     foreach (var defaultGateway in socket.Value)
                     {
                         await socket.Key.SendAsync(buffer, buffer.Length, new IPEndPoint(defaultGateway, DefaultPort));
                     }
                 }
                 else
                 {
                     await socket.Key.SendAsync(buffer, buffer.Length, new IPEndPoint(gatewayAddressNullable, DefaultPort));
                 }
             }
             catch (Exception)
             { ////??????????????
             }
         }
     }
 }
Ejemplo n.º 2
0
 public async Task SendAsync(byte[] buffer, IPAddress gatewayAddress, CancellationToken token)
 {
     using (await SocketSendLocker.EnterAsync(token)) {
         foreach (var keypair in Sockets)
         {
             token.ThrowIfCancellationRequested();
             try {
                 if (gatewayAddress == null)
                 {
                     foreach (var defaultGateway in keypair.Value)
                     {
                         await keypair.Key.SendAsync(buffer, buffer.Length, new IPEndPoint (defaultGateway, DefaultPort)).ConfigureAwait(false);
                     }
                 }
                 else
                 {
                     await keypair.Key.SendAsync(buffer, buffer.Length, new IPEndPoint (gatewayAddress, DefaultPort)).ConfigureAwait(false);
                 }
             } catch (OperationCanceledException) {
                 throw;
             } catch (Exception) {
             }
         }
     }
 }