Программа клиент должна отослать на сервер значения:
1 байт - значение дня (1-31) первой даты,
1 байт - значение месяца (1-12) первой даты,
2 байта - unsigned short, год (0-9999), в СЕТЕВОМ порядке байтов,
1 байт - значение часов (hh, 0-23),
1 байт - значение минут (mm, 0-59),
1 байт - значение секунд (ss, 0-59),
И у нас есть функция для отправки:
int send(int sockfd, const void *buf, int len, int flags);
Я понимаю,что void'овый указатель может быть приведен к какому-либо другому типу. Например, char*. Тогда я смогу отправлять строки с нужной информацией. Например, 24.05.2014.
Как отправить одним байтом двузначное 24?Если отправлять 24 строкой, то будет 2 байта и уже нужно сетевой порядок соблюдать.Может нужно отправлять посимвольно?Тогда всё равно отправятся два байта. Или задание "имело в виду" отправлять один байт для одного send? Тогда будет два send для даты 24 и всё равно не в один байт было отправлено значения дня.
А если это месяц или число, у которого незначащий ноль спереди, как для 05 месяца. Тогда нуль тоже нужно передавать?
Еще один вопрос насчёт сетевого порядка:у нас есть функции host-to-network-short и host-to-network-long. Как проверить, верно ли перевелось значение?
Как отправить одним байтом двузначное 24?
А где в задании сказано, что передавать нужно по одному байту?! Уверен - нет такого. Поэтому, не мудрствуйте лукаво, а поступайте по классике:
struct buffer {
unsigned char day_of_month;
unsigned char month;
unsigned short year;
unsigned char hour:
unsigned char minute;
unsigned char sec
} buffer;
size_t ll;
buffer.day_of_month = ...;
. . .
buffer.sec = ...;
ll = send(sockfd, buffer, sizeof(buffer), 0);
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно написать код, который будет искать количество пар одинаковых элементов, чтоб их считало только один раз
Необходимо посчитать количество слов в каждой строке для дальнейших действийФункция работает с обычной строкой, а вот при передаче ей буфера,...
Всем привет! Есть такой конструктор который считывает информацию о квартире: