【发布时间】:2013-02-15 06:54:53
【问题描述】:
我正在编写一个程序来确定 C#.Net 中端口的进程 ID。
IpHlpApi.dll 中有一个函数GetExtendedTcpTable,它返回 TcpTable。得到表格后,我正在遍历行并解析端口号。
现在为了比较端口号,我使用 IPAddress.HostToNetworkOrder 将 27144 端口号转换为网络字节顺序,并使用 Marshal.ReadInt32 与其他端口号进行比较。比较不起作用。即没有结果匹配。
如果不使用IPAddress.HostToNetworkOrder,我使用以下逻辑
((27144 & 0xFF) << 8) + ((27144 & 0xFF00) >> 8) == Marshal.ReadInt32(portAddress)
我能够确定进程 ID,即结果匹配之一。
你能告诉我为什么IPAddress.HostToNetworkOrder 不起作用吗?
【问题讨论】:
标签: c# .net network-programming