IPAddress
Console.WriteLine("BitConverter.IsLittleEndian = {0}", BitConverter.IsLittleEndian);
Console.WriteLine();
string format = "ipAddress.Address = {0}, 十六进制 = 0x{1}";
string ip = "192.168.1.224";
Console.WriteLine("字符串:" + ip);
IPAddress ipAddress = IPAddress.Parse(ip);
Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
var array = ipAddress.GetAddressBytes();
int index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine();
uint number = ;
Console.WriteLine("无符号整数:" + number + " 0x" + number.ToString("x2"));
ipAddress = IPAddress.Parse(number.ToString());
Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
array = ipAddress.GetAddressBytes();
index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine();
number = ;
Console.WriteLine("无符号整数:" + number + " 0x" + number.ToString("x2"));
ipAddress = IPAddress.Parse(number.ToString());
Console.WriteLine(format, ipAddress.Address, ipAddress.Address.ToString("x2"));
Console.WriteLine(ipAddress.ToString());
array = ipAddress.GetAddressBytes();
index = -;
foreach (byte b in array)
{
index++;
Console.WriteLine("array[{0}] = 0x{1}", index, b.ToString("x2"));
}
Console.WriteLine();
输出结果:
机器字节序为小端
BitConverter.IsLittleEndian = True
字符串:192.168.1.224
ipAddress.Address = 3758205120, 十六进制 = 0xe001a8c0
192.168.1.224
array[0] = 0xc0
array[1] = 0xa8
array[2] = 0x01
array[3] = 0xe0
无符号整数:3232236000 0xc0a801e0
ipAddress.Address = 3758205120, 十六进制 = 0xe001a8c0
192.168.1.224
array[0] = 0xc0
array[1] = 0xa8
array[2] = 0x01
array[3] = 0xe0
无符号整数:3758205120 0xe001a8c0
ipAddress.Address = 3232236000, 十六进制 = 0xc0a801e0
224.1.168.192
array[0] = 0xe0
array[1] = 0x01
array[2] = 0xa8
array[3] = 0xc0
分析:将一个无符号的数字3232236000进行ip地址的解析,3232236000在本机上是按照小端进行排列的。0xc0a801e0
ip地址解析之后,直接按照网络字节序(大端)进行了转换,所以在打印ipAddress.Address会发现数字被反转了。0xe001a8c0
IPAddress.ToString()得到的字符串,和IPAddress.Address是反的
192.168.1.18 对应的Address是0x1201A8C0 高位在低地址存储
uint number = ;
IPAddress ipAddress1 = IPAddress.Parse(number.ToString());
Console.WriteLine(ipAddress1.ToString());
Console.WriteLine(ipAddress1.Address);
Console.WriteLine();
IPAddress ipAddress2 = new IPAddress(number);
Console.WriteLine(ipAddress2.ToString());
Console.WriteLine(ipAddress2.Address);

IPAddress的更多相关文章
- C#的IPAddress IPEndPoint
以前觉得什么都能记住 翻一遍书就能去考试了,现在回过头来想一些东西,突然有种模糊的陌生感,应了那句好记性不如烂笔头.做笔记终归是利大于弊的.麻烦一点但是却受用. 突然想从头开始,看一些过去的书,补一些 ...
- IPAddress类
using System.Net; IPAddress ad1=IPAddress.Parse("192.168.1.1"); //ip为192.168.1.1的地址 IPAddr ...
- IP工具类——IpAddress.java
根据IP地址获取详细的地域信息,也可通过 http://whois.pconline.com.cn/ 获取地址信息. 源码如下:(点击下载 IpAddress.java) import java.i ...
- C#中IPAddress转换成整型int
string addr = "11.22.33.44"; System.Net.IPAddress IPAddr=System.Net.IPAddress.Parse(addr); ...
- IPAddress.Any 解决本地ip和服务器ip切换问题
IPAddress.Any表示本机ip,换言之,如果服务器绑定此地址,则表示侦听本机所有ip对应的那个端口(本机可能有多个ip或只有一个ip)IPAddress.Any微软给出的解释是:Provide ...
- Jexus .Net at System.Net.Sockets.Socket.Connect (System.Net.IPAddress[] addresses, System.Int32 port)
环境:Jexus(独立版)+MVC(5.2.3) +Redis+EF(6.0) Application Exception System.Net.Sockets.SocketException Con ...
- Eureka服务注册过程详解之IpAddress(详解eureka.instance.prefer-ip-address = true 与 eureka.instance.prefer-ip-address)
分析,eureka.instance.prefer-ip-address 本节解释为什么配置eureka.instance.prefer-ip-address = true时,注册到Eureka Se ...
- unity 2018获取本地ip 问题,ipaddress
Network.Player.ipAddress这个API在Unity2018被移除了 用如下代码 using System.Net; using System.Net.NetworkInformat ...
- C#网络编程基本字段---IPAddress、IPEndPoint
命名空间: using System.Net; PAddress类提供了对IP地址的转换.处理等功能.其Parse方法可将IP地址字符串转换为IPAddress实例. 如:IPAddress ip = ...
随机推荐
- selinux理解1-selinux介绍
安全增强式Linux(SELinux, Security-Enhanced Linux)是一种强制访问控制(mandatory access control)的实现.它的作法是以最小权限原则(prin ...
- is not in the sudoers file 解决(转)
解决方案:首需要切换到root身份$su -(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用& ...
- jquery之each
$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可 ...
- C# 编码约定
参考自 MSDN https://msdn.microsoft.com/zh-cn/library/ff926074.aspx , 只摘要个人觉得有用部分 命名约定 在不包括 using 指令 ...
- 初学java,遇到的陌生词语(1)
字节码文件:不包含硬件信息,完全与硬件平台无关,因此,无法直接由操作系统来运行. Java应用程序的执行过程:代码装入.代码检验.代码执行. 1.代码装入:由类装配器完成,装入程序运行时所需的所有源代 ...
- springmvc学习(三)
第一点---------使用 @RequestMapping 映射请求• Ant 风格资源地址支持 3 种匹配符:?:匹配文件名中的一个字符 *:匹配文件名中的任意字符 **:** 匹配多层路径 @R ...
- STL容器与配接器
STL容器包括顺序容器.关联容器.无序关联容器 STL配接器包括容器配接器.函数配接器 顺序容器: vector 行为类似于数组,但可以根据要求 ...
- OpenJudge/Poj 1658 Eva's Problem
1.链接地址: http://bailian.openjudge.cn/practice/1658 http://poj.org/problem?id=1658 2.题目: 总时间限制: 1000ms ...
- 实现scp自动输入密码(判断yesno选项)
1.apt-get install expect 2.编写shell脚本test.sh #!/usr/bin/expect -f#!/bin/shset password 1spawn scp roo ...
- centos 6.5 x64编译有python的vim7.4
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gzwget ftp://ftp.vim.org/pub/vim/extra/vim-7. ...