Выравнивание байтов при отправке пакетов

Если я отправлю пакет, содержащий адрес, порт и другие данные, возникнут ли проблемы с выравниванием на другой стороне? (используя протокол socks 5)


person Adrian    schedule 01.02.2011    source источник


Ответы (1)


Вы не указываете, на каком языке вы программируете. Если вы используете C или C++, существуют такие функции, как htons, htonl, ntohs, ntohl и другие, для стандартизации элементов сетевых данных в переносимый формат. Это руководство (среди многих других) расскажет вам, как писать сетевой переносимый код, поэтому различия в порядке следования байтов не будут вас кусать в @ss.

person Carl Smotricz    schedule 01.02.2011
comment
да, я использую C++, я использую htons, например, когда я устанавливаю порт для инициализации сокета, но мой пакет выглядит так: package[20] как мне установить все пакеты, используя эти функции? - person Adrian; 01.02.2011
comment
Вы должны применять эти функции поэлементно, чтобы нормализовать каждый адрес, порт или что-то еще в пакете, а не пакет в целом. - person Carl Smotricz; 01.02.2011