Автор Тема: Z5R WEB(web-json) - Не получает ответ от сервера  (Прочитано 4947 раз)

ilyxaaa

  • Гость
Добрый день.
Имеем Z5R Web в режиме Web JSON
Delphi XE10
Сервер на IdHttpServer
Код ответа сервера :
X:=TSuperObject.Create();
      X.S['date']:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
      X.I['interval']:= 10;
      msgArr:=X.A['messages'];
 
      msg:=TSuperObject.Create();
      msg.I['id']:=id+1;
      msg.S['operation']:='set_active';
      msg.I['active']:=1;
      msg.I['online']:=0;
      msgArr.Add(msg);
 
      AResponseInfo.ContentType :='application/json; charset=UTF-8';
      AResponseInfo.ResponseNo := 200;
      AResponseInfo.ResponseText := X.AsJSON();
Контроллер постоянно присылает :
Цитировать
{"type":"Z5RWEB","sn":44389,"messages":[{"id":610515434,"operation":"power_on","fw":"3.26","conn_fw":"1.0.129","active":0,"mode":0,"controller_ip":"192.168.0.105","reader_protocol":"dallas"}]}
Собственно вопрос, в чем проблема?
« Последнее редактирование: 30 Июня 2018, 15:50 от ilyxaaa »

murat351

  • Пользователь
  • *****
  • Сообщений: 72
контроллер спрашивает у сервера - готов ли он с ним работать
все соответствует протоколу
https://ironlogic.ru/il_new.nsf/file/ru_web-json.pdf/$FILE/web-json.pdf
подробнее можно посмотреть тут
http://json.il78.com/json.pdf

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Напишите сюда что именно Вы отвечаете. Вполне может быть, что дело в типе данных внутри json.
Я это понял только когда тестировал через веб интерфейс ironlogic. Т.е. банально не хватало квадратных скобок, и контроллер не понимал ответ. Т.е. я отдавал список, а не массив списков.

ilyxaaa

  • Гость
Спасибо всем. Разобрался. Не отправлялся ответ от сервера.
Еще такой вопрос. Удаляю карту из контроллера.
Цитировать
{"date":"2018-07-05 21:09:54","interval":10,"messages":[{"ID":10,"OPERATION":"del_cards","cards":[{"card":"00200049940A"}]}]}
Получаю ответ.
Цитировать
{"type":"Z5RWEB","sn":44389,"messages":[{ "id":10, "success":1},{"id":1704365084,"operation":"ping","active":1,"mode":0}]}
После чего эта же карта , пропускается контроллером и ее код стал :
Цитировать
{"type":"Z5RWEB","sn":44389,"messages":[{"id":1176911340,"operation":"events","events":[{"flag": 0,"event": 5,"time": "2018-07-05 21:14:22","card": "555555555555"}]}]}
В чем тут может быть проблема
Причем на вход она не пропускается. А на выход "card": "555555555555"
« Последнее редактирование: 05 Июля 2018, 21:27 от ilyxaaa »

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Как показала практика, murat хоть и помогает советом, но такие непонятные вопросы лучше через саппорт, толку больше будет.
На основании обращения они кстати и прошивку новую выпустят. Корректирующую. У меня тоже 5-ки были, но после обновления полегчало. Только вот случай другой у меня был.
Так что в саппорт писать и потом радоваться что все хорошо.

ilyxaaa

  • Гость
Спасибо за совет. Буду туда писать.

ilyxaaa

  • Гость
Появилась еще одна проблема, контроллер передает локальный IP. Поэтому не может получить ответ от сервера.
Как это можно обойти?