- ДЕЛО:
У меня есть TCP-клиент, который отправляет данные, и я хочу получить данные с моего сервера. Итак, все в порядке.
Я решил создать сервер сокетов на порту 9876 для прослушивания этого устройства (используя Java 8). Данные, которые я получаю, странные, когда я печатаю, они выглядят так: «慳 慳 慳», но теоретически поступающие данные должны быть шестнадцатеричными. Это пример пакета, который отправляет устройство (вход в систему):
40407F000431303031313132353239393837000000000000001001C1F06952FDF069529C91110000000000698300000
C0000000000036401014C00030001190A0D04121A1480D60488C5721800000000AF4944445F3231364730325F53205
6312E322E31004944445F3231364730325F482056312E322E31000000DF640D0A
Я хочу простым способом (одним классом, если это возможно) реплицировать соединение через устройство посредством castel (порт 5086 для Приложение сервера Traccar) почти в 6 методах:
- Соединение
- Отключение
- Кодирование
- Декодирование
- Отправка пакета
- Получить пакет
Моя цель - повторить это поведение с PHP. Я пытался с протоколами Websocket / HTTP, и в результате я не могу подключиться к нему. Я не могу услышать какой-либо пакет от устройства.
Итак, другой вопрос может быть: как я могу написать свой собственный протокол (Castel) для подключения сервера к этим устройствам?
Я просмотрел Traccar Код сервера, но он очень обширный. Я доказал устройство с ним, и он работает, но я не могу понять, как (на уровне кода).
Документация
- Формат пакета протокола для загрузки загрузки
Пример пакета входа в систему
Я сделал простой сокет с PHP, и это то, что я слушал