如何通过hostname获取已使用IPv6协议的IPv4地址

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Net;
 5 using System.Web;
 6
 7 namespace FXBVT_Team.CheckFilePath
 8 {
 9     public class IPNetworking
10     {
11         public static string GetIP4Address(string hostAddress)
12         {
13             string IP4Address = String.Empty;
14
15             foreach (IPAddress IPA in Dns.GetHostAddresses(hostAddress))
16             {
17                 if (IPA.AddressFamily.ToString() == "InterNetwork")
18                 {
19                     IP4Address = IPA.ToString();
20                     break;
21                 }
22             }
23
24             if (IP4Address != String.Empty)
25             {
26                 return IP4Address;
27             }
28
29             foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
30             {
31                 if (IPA.AddressFamily.ToString() == "InterNetwork")
32                 {
33                     IP4Address = IPA.ToString();
34                     break;
35                 }
36             }
37
38             return IP4Address;
39         }
40
41     }
42 }
时间: 2024-11-04 23:58:45

如何通过hostname获取已使用IPv6协议的IPv4地址的相关文章

时间获取程序客户端 TCP 协议相关性

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取客户程序.客户与服务器建立一个TCP连接后,服务器以直观 可读格式简单地送回当前时间和日期 这个例子是协议相关,使用 inet_pton TCP/IPv4, IPv6 协议相关 IPv4 --> IPv6 (把代码中出现的左边的字符串换为右边的,就变成了IPv6版本的) sockaddr_in --> sockaddr_in6 AF_INET -->

时间获取程序服务器 TCP 协议相关性

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取服务器程序.它和时间获取程序客户端一道工作. TCP/IPv4, IPv6 协议相关 IPv4 --> IPv6 (把代码中出现的左边的字符串换为右边的,就变成了IPv6版本的) sockaddr_in --> sockaddr_in6 AF_INET --> AF_INET6 sin_family --> sin6_family sin_p

IPv6协议介绍

IPv6是为了解决基于IPv4的TCP/IP协议簇遇到的问题而推出的下一代IP协议.由于IPv4中采用的编制方式使得可用的网络地址和主机地址的数目远低于理论数目,随着全球互联网的快速发展,现有的IPv4地址近乎枯竭.网络地址转换技术(NAT)在一定程度上缓解了IPv4地址枯竭的问题,但也带来了例如端到端通讯的问题.IPv6技术解决了这些问题,它拥有比Ipv4大的多的地址空间以及一些新的特性. IPv6最为显著的改变是IP地址的改变,它提供了128比特的地址,相比于传统的IPv4的32比特地址,理

IPv6绝不仅仅是对IPv4地址长度的增加

众所周知,IPv6 IP地址长度是IPv4 IP地址长度的四倍,是解决IPv4公共网址资源枯竭的最佳技术.的确,IETF在制定IPv6标准时也是基于这一因素考虑的.当时正是90年代初,Web开始出现,导致IP网的爆炸性发展,IP网用户迅速增加,IP地址空前紧张,IPv6要解决的就是扩大地址空间问题.后来IETF逐渐对IPv6标准进行修订,RFC的草案也有数百件,形成IPv6标准的RFC就有近百件,这些RFC标准极大地丰富了IPv6技术的内涵,赋予IPv6更多的意义,而不仅仅是IP地址数量的增加.

winPcap_4_获取已安装设备的高级信息

由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of which corresponds to an entry in the addresses list). 一个广播地址列表 (each of which corresponds to an entry in the addresses list). 一个目的地址列表 (each of which

UNIX网络编程卷1 时间获取程序server TCP 协议相关性

本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取server程序.它和时间获取程序client一道工作. 它是 协议相关,把代码中出现的左边的字符串换为右边的,就变成了IPv6版本号的 IPv4 --> IPv6 sockaddr_in --> sockaddr_in6 AF_INET --> AF_INET6 sin_family --> sin6_family sin_port --&

#获取本机IP地址时排除IPv6类型,只返回IPv4地址的方法

public static string GetLocalIP(){try{string HostName = Dns.GetHostName(); //得到主机名IPHostEntry IpEntry = Dns.GetHostEntry(HostName); for (int i=0; i < IpEntry.AddressList.Length; i++){//从IP地址列表中筛选出IPv4类型的IP地址//AddressFamily.InterNetwork表示此IP为IPv4,//Ad

windows 获取已插入U盘

static int GetUdisk(vector <CString> &udisk) { CHAR szDriveStrings[1024]; PCHAR szDriver; memset(szDriveStrings, 0, sizeof(szDriveStrings)); GetLogicalDriveStrings(sizeof(szDriveStrings), szDriveStrings); szDriver = szDriveStrings; while (szDriv

node.js express fs 获取已上传文件数据格式

{ "fieldName": "photo", "originalFilename": "1395130808991.jpg", "path": "tmpupload/25546-z8u01y.jpg", "headers": { "content-disposition": "form-data; name=\"photo\&