private IDataAdapter ConnectUdp(IpProxyToken token, Logger logger, PropertyBag properties) { IDataAdapter adapter = null; try { UdpClient client = new UdpClient(IsTokenIpV6(token) ? AddressFamily.InterNetworkV6 : AddressFamily.InterNetwork); if (token.Hostname == null) { client.Connect(token.Address, token.Port); } else { client.Connect(token.Hostname, token.Port); } NetUtils.PopulateBagFromSocket(client.Client, properties); adapter = new UdpClientDataAdapter(client, IpProxyClient.GetDescription(token)); } catch (SocketException ex) { logger.LogException(ex); token.Status = NetStatusCodes.ConnectFailure; } catch (IOException ex) { logger.LogException(ex); token.Status = NetStatusCodes.ConnectFailure; } return(adapter); }
private IDataAdapter ConnectUdp(IpProxyToken token, Logger logger, PropertyBag properties) { IDataAdapter adapter = null; try { UdpClient client = new UdpClient(IsTokenIpV6(token) ? AddressFamily.InterNetworkV6 : AddressFamily.InterNetwork); IPEndPoint endpoint; if (token.Hostname == null) { endpoint = new IPEndPoint(token.Address, token.Port); } else { endpoint = new IPEndPoint( Dns.GetHostEntryAsync(token.Hostname).GetAwaiter().GetResult().AddressList[0], token.Port); } NetUtils.PopulateBagFromSocket(client.Client, properties); adapter = new UdpClientDataAdapter(client, GetDescription(token), endpoint); } catch (SocketException ex) { logger.LogException(ex); token.Status = NetStatusCodes.ConnectFailure; } catch (IOException ex) { logger.LogException(ex); token.Status = NetStatusCodes.ConnectFailure; } return(adapter); }