Можно, конечно, через in.read((char*)&var1, sizeof(var1)), но
порядок следования байт при считывании меня тоже не устраивает - он переворачивает значение.
Как перегрузить оператор >> для целого и других типов?
Для встроенных типов низзя. Сделай свой класс и перегружай.
Также сделай в классе оператор преобразования во встроенные
типы. А пример пиши сам, иначе без толку. Переворот значения
устрани при помощи сетевых макросов ntohs, htons, ntohl,htonl.
смотри /usr/include/arpa/inet.h