Помогите передать NULL
- Войдите на сайт для отправки комментариев
Чт, 09/02/2017 - 09:46
История. Надо передать в систему мониторинга zabbix данные. Те примеры что я нашел, чего то не очень то и работают. А вот "в ручную" я данные передал. Взял программку TCP/UPD NetAssistant, поймал покетики от утилиты zabbix_sender, послал такой же из NetAssistant на сервер ивсе заработало. А посылка такая.
ZBXD ` { "request":"sender data", "data":[ { "host":"box1", "key":"b1t1", "value":"101"}]}
Так вот, в первой строке, от символа D до кавычек должны быть такие байтики в HEX
01 60 00 00 00 00 00 00 00
не могу передать нули, они не доходят или конвертятся в число 20 (пробел).
Использую библиотеку ESP8266pro-master. Беру и вот так посылаю.
char StrB1t1[] = {'Z', 'B', 'X', 'D', 0x01, '`', 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x7B, 0x0A, 0x09, 'A', 'B', 'C'}; con.send(StrB1t1);
Посылается до первого нуля. Прочитал, что нуль признак конца строки в Си. А как это побороть не нашел. Если не слать NULL то все работает как надо.
Туплю. Помогите.
почитай, что такое char char
Не понял Вашего посыла. Может я не внимателен. Вот еще пример. Так работает. и присылает 5A 42 58 44 01 01 в HEX
А так не работает и присылает 5A 42 58 44 01 в HEX
Намекните прозрачнее, пожалуйста.
ок. теперь читай, что такое String String
Надо сразу посылать читать Кернигана, Ричи. )))
Мне такие советы не нравятся, если Вы ткнете носом где на этих двух страничках ответ на мой вопрос, я скажу три раза "ку". Но там ответа нет, а глумиться над проблемой не хорошо.
Вот тут люди обсуждали подобное, но я не понял решения https://www.linux.org.ru/forum/development/360461 .
И на странички описания char и String там не посылали.
И на странички описания char и String там не посылали.
будешь выепываться, я тебя не в описания чар пошлю, а найух.
всё просто https://www.google.com.ua/search?q=arduino+передать+HEX
строки в С это последовательность байт, заканчивающихся нулем. В Кернигане/Риччи это написано. Поэтому, con.send() принимая от тебя строку, передает все байты до нулевого символа, думая, что строка закончилась. И заканчиваеца с чюством выполненного долга.
Спасибо за помощь.