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的更多相关文章

  1. C#的IPAddress IPEndPoint

    以前觉得什么都能记住 翻一遍书就能去考试了,现在回过头来想一些东西,突然有种模糊的陌生感,应了那句好记性不如烂笔头.做笔记终归是利大于弊的.麻烦一点但是却受用. 突然想从头开始,看一些过去的书,补一些 ...

  2. IPAddress类

    using System.Net; IPAddress ad1=IPAddress.Parse("192.168.1.1"); //ip为192.168.1.1的地址 IPAddr ...

  3. IP工具类——IpAddress.java

    根据IP地址获取详细的地域信息,也可通过 http://whois.pconline.com.cn/ 获取地址信息. 源码如下:(点击下载  IpAddress.java) import java.i ...

  4. C#中IPAddress转换成整型int

    string addr = "11.22.33.44"; System.Net.IPAddress IPAddr=System.Net.IPAddress.Parse(addr); ...

  5. IPAddress.Any 解决本地ip和服务器ip切换问题

    IPAddress.Any表示本机ip,换言之,如果服务器绑定此地址,则表示侦听本机所有ip对应的那个端口(本机可能有多个ip或只有一个ip)IPAddress.Any微软给出的解释是:Provide ...

  6. 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 ...

  7. 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 ...

  8. unity 2018获取本地ip 问题,ipaddress

    Network.Player.ipAddress这个API在Unity2018被移除了 用如下代码 using System.Net; using System.Net.NetworkInformat ...

  9. C#网络编程基本字段---IPAddress、IPEndPoint

    命名空间: using System.Net; PAddress类提供了对IP地址的转换.处理等功能.其Parse方法可将IP地址字符串转换为IPAddress实例. 如:IPAddress ip = ...

随机推荐

  1. GDI+中发生一般性错误之文件被占用

    有多种原因可能导致这个异常出现,比如创建文件的权限不足.文件被占用等. 这里提供一个使用Stream读取图片避免文件被占用的方法. public Image GetImageFromStream(st ...

  2. OC1_数组创建

    // // main.m // OC1_数组创建 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxuemi ...

  3. 06_例子讲解:rlPlanDemo

    规划器的例子程序: "E:\Program Files (x86)\rl-0.6.2\bin\rlPlanDemo.exe" "E:\Program Files (x86 ...

  4. mysql主配置文件my.cnf详细说明

    MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用[转载]#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 ...

  5. CentOS7 列出服务和对应端口

    列出服务和他们对应的端口: netstat -tulpn

  6. 在JQuery和Js中,如何让ajax执行完后再继续往下执行 async

    async (默认: true) 默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. var t ...

  7. cgi创建web应用(一)之传递表单数据与返回html

    主旨: 0.环境说明 1.创建一个cgi本地服务 2.创建一个html表单页 3.创建一个对应的cgi 脚本文件 4.运行调试 0.环境说明: 系统:win7 32位家庭版 python:2.7 代码 ...

  8. PL/SQL — 变长数组

    PL/SQL变长数组是PL/SQL集合数据类型中的一种,其使用方法与PL/SQL嵌套表大同小异,唯一的区别则是变长数组的元素的最大个数是有限制的.也即是说变长数组的下标固定下限等于1,上限可以扩展.下 ...

  9. 一步步学习ASP.NET MVC3 (8)——EmptyResult,ContentResult,RedirectResult

    请注明转载地址:http://www.cnblogs.com/arhat 上一章,我们阐述了Controller,Action和ActionResult所代表的含义及使用,本章继续研究ActionRe ...

  10. homework-Agile Software Development

    对敏捷开发的一些思考 这周的作业是对敏捷开发的相关阅读和思考. 在阅读的过程中,可以看到作者是一位具有丰富编程经验的大师.在开发的经历中,作者经历了极限编程等开发过程,但是在作者的多年经验中,作者还是 ...