c / c ++ - самый безопасный способ отправить time_t через сокет

Я настроил серверную / клиентскую среду C ++ и пытаюсь отправить значение time_t с сервера на клиент (полезная вещь на любом сервере). Но я'м в связи с головной болью: похоже, time_t не соответствует размерам. Я'Мне интересно, какой самый безопасный (более переносимый) способ отправки time_t по сети.

Это маленький пример:

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);

У меня две проблемы:

time_t не имеет фиксированного размераtime_t может быть typedef целого типа со знаком или без знака

Как я могу справиться с этими двумя проблемами, чтобы я мог безопасно отправить их между (почти) любой архитектурой?

Заранее спасибо.

РЕДАКТИРОВАТЬ: После просмотра тех же трех ответов, я считаю, что лучше ответить здесь. Я'Извините, я не уточнил это раньше. Я предпочитаю отправить его вчистый» байты, хотя отправка в виде строки не является проблемой. Насколько я понимаю, я должен был бы иметь в виду (снова) подписанность и размер типа данных time_t в хост-системе, не так ли?не так ли? (спасибо и извините)

Ответы на вопрос(4)

Ваш ответ на вопрос