HostToNetworkOrder
方法将主机系统上存储的多字节整数值从主机使用的字节顺序转换为网络使用的字节顺序,NetworkToHostOrder
执行相反的操作。
问题是如何在C#中实现这些方法,假设它在系统库中不可用。
答案 0 :(得分:0)
如何在C#中实现这些方法,假设它在系统库中不可用。
它可用,所以不要重新实现它:
http://msdn.microsoft.com/en-us/library/system.net.ipaddress.networktohostorder.aspx
答案 1 :(得分:0)
.NET自2014年11月开源,因此您只需从此处复制类:
http://referencesource.microsoft.com/#System/net/System/Net/IPAddress.cs
官方HostToNetworkOrder
实施是:
public static long HostToNetworkOrder(long host) {
#if BIGENDIAN
return host;
#else
return (((long)HostToNetworkOrder((int)host) & 0xFFFFFFFF) << 32)
| ((long)HostToNetworkOrder((int)(host >> 32)) & 0xFFFFFFFF);
#endif
}
@brunolemos