Voici mon code et je vais me connecter au google en utilisant son adresse IPv6, mais la méthode socket.connect() est enfin la dernière exception de timeout, j'ai besoin d'une solution pour cela et où dois-je changer mon code,La méthode Socket.connect() échoue pour l'adresse ipv6
Uri google = new Uri("http://www.google.com");
IPAddress[] ips = Dns.GetHostEntry(google.DnsSafeHost).AddressList;
IPAddress ipAddress = ips[0];
foreach (IPAddress ip in ips)
{
if (ip.AddressFamily == AddressFamily.InterNetworkV6)
ipAddress = ip;
}
IPEndPoint endPoint = new IPEndPoint(ipAddress, 80);
Socket socket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 60 * 1000);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 60 * 1000);
socket.Connect(endPoint);
Je dois avoir besoin de se connecter à son adresse ipv6, pas avec ipv4 – hsCode
Cela fonctionne-t-il bien pour les adresses IP4? Je voulais juste savoir que si vous changez InterNetworkV6 en InterNetwork, alors cela fonctionne-t-il? –
oui son travail avec ipv4 adresse – hsCode