ИМО, единственный ответ, который близок к тому, чтобы быть правильным, это ответ Мартина. Нет проблем с порядком байтов, к которым следует обращаться, если вы не общаетесь с другими приложениями в двоичных файлах или не читаете и не записываете двоичные файлы. То, что происходит на машине с прямым порядком байтов, остается на машине с прямым порядком байтов, если все постоянные данные представлены в виде потока символов (например, пакеты представляют собой ASCII, входные файлы представляют собой ASCII, выходные файлы представляют собой ASCII).
Я делаю это ответ, а не комментарий к ответу Мартина, потому что я предлагаю вам подумать о том, чтобы сделать что-то отличное от того, что предложил Мартин. Принимая во внимание, что в архитектуре доминирующей машины есть порядок байтов, в то время как порядок сетей имеет порядок байтов, возникает много преимуществ, если вы вообще можете избежать замены байтов. Решение состоит в том, чтобы сделать ваше приложение способным работать с ошибочными входными данными. Начните протокол связи с какого-то пакета идентификации компьютера. Имея эту информацию под рукой, ваша программа может знать, должна ли она поменять местами последующие входящие пакеты или оставить их как есть. Та же концепция применима, если в заголовке ваших двоичных файлов есть какой-то индикатор, который позволяет вам определить порядковый номер этих файлов. Имея такую архитектуру, ваши приложения могут писать в собственном формате и знать, как обращаться с входными данными, которые не в собственном формате.
Ну, почти. Есть другие проблемы с двоичным обменом / бинарными файлами. Одной из таких проблем являются данные с плавающей запятой. Стандарт IEEE с плавающей запятой ничего не говорит о том, как хранятся данные с плавающей запятой. Он ничего не говорит о порядке следования байтов, ничего о том, идет ли значимое и до или после показателя степени, ничего о порядке хранения битов сохраненного показателя и значимости. Это означает, что у вас могут быть два разных компьютера с одинаковым порядком байтов, которые оба следуют стандарту IEEE, и у вас все еще могут быть проблемы с передачей данных с плавающей запятой в двоичном виде.
Другая проблема, не столь распространенная сегодня, заключается в том, что порядковый номер не является двоичным. Есть и другие варианты, кроме больших и маленьких. К счастью, дни компьютеров, которые хранили вещи в порядке 2143 (в отличие от порядка 1234 или 4321), в значительной степени позади, если вы не имеете дело со встроенными системами.
Итог:
Если вы имеете дело с почти однородным набором компьютеров, с одним или двумя странными шарами (но не слишком странными), вы можете подумать о том, чтобы избежать сетевого порядка. Если в домене есть машины с несколькими архитектурами, некоторые из которых очень странные, вам, возможно, придется прибегнуть к lingua franca порядка сети. (Но учтите, что этот lingua franca не полностью решает проблему с плавающей запятой.)