Автор Тема: Работа через сокеты  (Прочитано 4374 раз)

SR_team

  • Пользователь
  • *****
  • Сообщений: 6
Работа через сокеты
« : 21 Января 2020, 10:51 »
Из документации не ясно как передовать команды.
Цитировать
команды передаются в формате <IAC><SB><КОМАНДА><IAC><SE>
И далее пример
FF FA 2C 01 00 03 84 00 FF F0команда в котором это
Цитировать
2C 01 00 03 84 00
тут сама скорость это
00 03 84 00а что тут код команды? 2C? Тут этой команды нет! 01? Это чтение установленных лицензий, но контроллер ничего не возвращает!

В advanced mode описана следующая структура:
Цитировать
Тип команды - 1 байт
упакованный пакет данных команды
Признак конца команды - 1 байт (всегда равен 0x0D)
но никакого 0x0D в команде устанавливающей скорость нет! К тому же, пакет данных команды должен занимать 8 - 100 байт, прибавим к этому код команды и признак конца команды - получаем 10 - 102 байта
Цитировать
2C 01 00 03 84 00
6 байт. Как так? Или документация приведенная здесь это что-то совершенно не относящееся к тому, что указано здесь? Тогда почему она на нее ссылается в примере с установлением скорости?

Так же имеются вопросы по структуре пакета:
Цитировать
Длина пакета в байтах
Это длина всего передаваемого массива, длина упакованного пакета команд, или какая-то иная длина?
Цитировать
Код операции (зависит от типа команды)
В описании команд нет никаких кодов операций? Или тут дублируется команда?

gsa

  • Пользователь
  • *****
  • Сообщений: 265
Re: Работа через сокеты
« Ответ #1 : 21 Января 2020, 11:32 »
Из документации не ясно как передовать команды.
Цитировать
команды передаются в формате <IAC><SB><КОМАНДА><IAC><SE>
Добрый день
Данные, которые отправляются конвертеру по TCP, упаковываются дважды: сначала формируется пакет по протоколу Advanced (в конце 0x0D), затем этот пакет упаковывается по протоколу NVT. В начале страницы описано подробнее.

И далее пример
FF FA 2C 01 00 03 84 00 FF F0команда в котором это
Цитировать
2C 01 00 03 84 00
тут сама скорость это
00 03 84 00а что тут код команды? 2C? Тут этой команды нет! 01?
2C и 01 это команды протокола NVT, а не протокола Advanced.

SR_team

  • Пользователь
  • *****
  • Сообщений: 6
Re: Работа через сокеты
« Ответ #2 : 21 Января 2020, 11:34 »
Простите мне мою не внимательность. Большая структура требуется только для команд 0x1E-0x20. Остальные команды состоят из 2х байт.
Касательно NVT, посмотрел в wireshark. Оно используется только при переводе контроллера в режим Advanced, потом просто шлются команды, обарачивать их во всяки <IAC><SB>/<IAC><SE> не нужно