Название: Передача и получение числа одним байтом Отправлено: justengineer от Май 14, 2020, 12:07 Здравствуйте!
Что-то не могу сообразить, как мне передать трехзначное число (например, 255) как 1 байт? И как его принять опять же как 1 байт? Приём-передача по TCP/IP. Заранее спасибо. Название: Re: Передача и получение числа одним байтом Отправлено: kambala от Май 14, 2020, 12:18 uint8_t или quint8, выше 255 в 1 байт не влезет
Название: Re: Передача и получение числа одним байтом Отправлено: justengineer от Май 14, 2020, 13:23 Это я понимаю, спасибо большое.
Объясню: при отправке (просто socket->write(QByteArray ba)) я передаю QByteArray. Проверяю размер того, что отправила: 4 байта всегда, хотя в QByteArray запихиваю одно число uint и отправляю его. Откуда берётся ещё 3 байта? А на принимающей стороне вообще не пойму: надо получить 12 байт (свой 1 байт, про который пишу выше, отправляю в качестве теста), в каждом байте записано десятичное число от 0 до 255. Но мой опять-таки QByteArray принимает это все как-то криво. Должен прийти мой тестовый 1 байт (с 12-ю байтами совсем запутаюсь), приходит опять 4 байта каких-то... Название: Re: Передача и получение числа одним байтом Отправлено: ssoft от Май 14, 2020, 13:28 uint - это 4 байта.
quint8 - 1 байт. Название: Re: Передача и получение числа одним байтом Отправлено: qate от Май 14, 2020, 17:29 хотя в QByteArray запихиваю одно число uint как запихиваешь ? Название: Re: Передача и получение числа одним байтом Отправлено: Пантер от Май 15, 2020, 19:52 Код: quint8 v = 255; |