Скажем, у меня есть такой массив arr = [24, 21, 25, 40, 236, 89]
, который предназначен для представления IP-адреса (первые четыре байта) и номера порта (последние 2 байта), как в http://wiki.theory.org/BitTorrentSpecification#Tracker_Response, бинарной секции равноправных узлов.
У меня такой вопрос: как мне получить IP-адрес и номер порта от этого?
arr[0..3].reverse.join '.'
для IP и arr[5] << 8 | arr[4]
для порта, кажется, не правильно.
Я предполагаю, что поскольку я string_from_tracker.unpack 'C*'
получаю arr
, биты уже в исходном порядке байтов ...
Я не очень уверен, как это вообще должно работать.
Спасибо.