Russian Qt Forum
Апрель 16, 2024, 23:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: QT и LWIP  (Прочитано 10708 раз)
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #15 : Май 23, 2018, 12:05 »

У QByteArray есть метод toHex(). Используйте его для отображения бинарных данных.

С эндианами для передачи данных по сети уже определились давным давно. Все отправляемые данные в сеть должны быть в big-endian, поэтому его еще называют сетевым.
Записан
Harlon
Гость
« Ответ #16 : Май 23, 2018, 13:15 »

Отправляю с сервера (напомню там Си), вот кусок кода отправки:

Код
C++ (Qt)
sss = p->payload;
xil_printf("It's OK");
char *ss = "Give me money";
short n = 52;
if (strcmp(sss, ss) == 0)
{
err = tcp_write(tpcb, n, sizeof(short), 1);
}
else
{
err = tcp_write(tpcb, "Тут не важно что", 21, 1);
}
pbuf_free(p);
 

в итоге я получаю не 52, а 4122 (это big endian), "101a"(это QBytearray Data.toHex(); )
« Последнее редактирование: Май 23, 2018, 13:18 от Harlon » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #17 : Май 23, 2018, 16:12 »

Код
C++ (Qt)
if (strcmp(sss, ss) == 0)
{
err = tcp_write(tpcb, &n, sizeof(short), 1);
}
 
Записан
Harlon
Гость
« Ответ #18 : Май 23, 2018, 16:54 »

Спасибо тебе Йода, ты просто бог! Я как разбогатею с тобой поделюсь обязательно... А с массивом интов так же получится?
« Последнее редактирование: Май 23, 2018, 16:56 от Harlon » Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 22.