C#IPEndPoint中IP4地址字符串到long/uint的转换-转载修订

原创 2016年08月28日 15:01:13

原文链接:http://www.cnblogs.com/luxiaoxun/p/3376682.html

我直接Copy原作中的函数使用在C#中,把形如"192.168.1.102"的IP转换为整数传递,在新的函数中创建

IPEndPoint时,ipe的值为102.1.168.192:4000 【clientPort传递的是4000】

IPEndPoint ipe = new IPEndPoint((long)clientIP, clientListenPort);


可是很多讲IP协议的地方都是按照原作的逻辑讲述的,为什么C#在这里会颠倒过来呢?

把原作代码略作修改,然和就可以正常联机了。但还是搞不明白IPEndPoint这是玩儿的哪一出。。。

<span style="white-space:pre">	</span>private uint IPStrToInt32(string IP)
        {
            char[] separator = new char[] { '.' };
            string[] items = IP.Split(separator);//实际测试发现应该是低位在前
            //return uint.Parse(items[0]) << 24
            //        | uint.Parse(items[1]) << 16
            //        | uint.Parse(items[2]) << 8
            //        | uint.Parse(items[3]);
            return uint.Parse(items[3]) << 24 | uint.Parse(items[2]) << 16 
                | uint.Parse(items[1]) << 8 | uint.Parse(items[0]);
        }


版权声明:本文为博主原创文章,未经博主允许也可随便转载。

相关文章推荐

winform网络编程之DNS类,IPAddress类和IPEndPoint类以及如何获取本地ip地址

课设要求做windows下的socket通信编程,没有办法,恶补吧。一向不喜欢网络编程的我只能慢慢来,说实话不是不喜欢,是怕麻烦。 计算机有那么多层的结构,每层又有那么多协议,明白每个协议的内容和...

判断一个字符串是否为合法ip地址(ipv4)

1.判断字符串是否形如“192.168.1.1” 2.字符串两端含有空格视为合法ip,形如“    192.168.1.1    ” 3.字符串中间含有空格视为非法ip,形如“192.168. 1...

C#获取本机IP地址(ipv4)

获取本机所有IP地址: string name = Dns.GetHostName(); IPAddress[] ipadrlist = Dns.GetHostAddresses(name); ...

java字符串应用之IP地址转换成整数

一、应用范围     一般用在登录限制、查找IP所在城市等需求中,windows的ping命令也支持整数形式的IP。 二、关键技术点     将IP地址转化成整数的方法如下:   ...
  • nmgrlq
  • nmgrlq
  • 2012-03-27 15:17
  • 1459

ip转换为long

MySQL如何有效的存储IP地址及字符串IP和数值之间如何转换

在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。但是没有给出具体原因。为了搞清楚这个...
  • mhmyqn
  • mhmyqn
  • 2015-09-22 13:49
  • 4282

关于printf float double int64 _int64 long _uint64

下表列出了printf和scanf对于各种格式说明符可以接受的参数类型。 格式 printf scanf %c int ch...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)