【发布时间】:2011-07-20 16:49:10
【问题描述】:
假设我有一个像 arr = [24, 21, 25, 40, 236, 89] 这样的数组,它表示一个 IP 地址(前四个字节)和一个端口号(后两个字节),就像在二进制对等部分 http://wiki.theory.org/BitTorrentSpecification#Tracker_Response 中一样。
我的问题是:如何从中获取 IP 地址和端口号?
IP 的arr[0..3].reverse.join '.' 和端口的arr[5] << 8 | arr[4] 似乎不正确。
我在这里假设,因为我使用string_from_tracker.unpack 'C*' 来获得arr,所以这些位已经处于本机字节序...
我不确定这应该如何工作。
谢谢。
【问题讨论】:
标签: ruby networking ip endianness unpack