c / c ++ - najbezpieczniejszy sposób wysyłania time_t przez gniazdo
Skonfigurowałem środowisko serwer / klient C ++ i próbuję wysłać wartość time_t z serwera do klienta (przydatna rzecz na dowolnym serwerze). Ale przychodzi mi ból głowy: time_t wydaje się nie być pod żadną specyfikacją rozmiaru. Zastanawiam się, jaki jest najbezpieczniejszy (bardziej przenośny) sposób wysyłania time_t przez sieć.
To jest mały przykład:
time_t T = time(NULL);
unsigned char * P = (unsigned char *)&T;
// ... Convert it to network byte order, etc.
// Here, 's' would be the socket, and 'S'
// the size of the data that is going to
// be sent
send(s, P, S, 0);
Mam dwa problemy:
time_t nie jest naprawionytime_t może być typem typu podpisanego lub niepodpisanego integralnego typu danychJak mogę sobie poradzić z tymi dwoma problemami, aby móc bezpiecznie wysłać je między (prawie) dowolną architekturą?
Z góry dziękuję.
EDYCJA: Po obejrzeniu tych samych trzech odpowiedzi uważam, że lepiej odpowiedzieć tutaj. Przepraszam, że wcześniej tego nie wyjaśniłem. Wolę wysyłać go w „czystych” bajtach, chociaż wysyłanie go jako ciąg nie stanowi problemu. O ile rozumiem, musiałbym pamiętać (ponownie) o podpisie i rozmiarze typu danych time_t w systemie hosta, prawda? (dzięki i przepraszam)