Задать вопрос
msa6886
@msa6886

В каком виде передать байты через TCP?

Переписываю программу из php в nodejs, javascript. Нужно по tcp передать данные в устройство. Предыдущий программист написал вот такой код, не могу разобраться для чего константы SIG_CALL, FAC_CONFIG, REQUEST_CONFIG конвертируются из hex в символы с помощью функции chr(), это так принято делать, или в таком виде удобнее отправлять данные:
define('SIG_CALL', 0x00F1);
define('FAC_CONFIG', 0x01);
define('REQUEST_CONFIG', 0x01);

$padcnt = 4 + 4 + 4 + 6 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 4 + 4;
$d = w2s(SIG_CALL);
$d .= b2s(FAC_CONFIG);
$d .= b2s(REQUEST_CONFIG);
$d .= str_repeat("\xFF", $padcnt);

function b2s($n)
{
    $n = (int)$n;
    return chr($n);
}

function w2s($n, $swap = true)
{
    $n = (int)$n;
    $hi = ($n >> 8) & 0xFF;
    $lo = ($n & 0xFF);
    if ($swap) {
        return chr($lo) . chr($hi);
    } else {
        return chr($hi) . chr($lo);
    }
}
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@profaller
Ну видимо устройство на которое передаются данные, понимает их именно в таком виде. Мы не телепаты, устройство это не разрабатывали, протоколов не знаем. Вам должно быть виднее, почему именно так формируются данные.

Удачи!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽