PDA

Просмотр полной версии : Не работает преобразование адресов в библиотеке SysLibSockets



dariga5
15.10.2021, 13:10
Здравствуйте, пытаюсь реализовать TCP-сокеты на ПЛК 110-60, сделал все по инструкции, но на сервер ничего не отправляется. Выяснил, что проблема, скорее всего, в преобразовании ip-адреса в системный адрес(функции htons/htonl и ntohs/ntohl). Как можно это по фиксить или хотя бы полностью убедиться в том, что это проблема не в моем коде. Заранее спасибо!
P.S Для теста пытался также реализовать TCP-клиента на С++, так же возникли проблемы с функциями преобразования адреса.5748957490

Spawn
15.10.2021, 23:55
Добавьте в проект "IP_DECODE", будет, на мой взгляд, удобнее и нагляднее работать c "нормальными" IP-адресами.

И разве Network to Host должен быть, не наоборот ли (Host to Network)?

dariga5
17.10.2021, 09:10
Хорошо, попробую IP_DECOD
P.S Не работает ни с HTON, ни с NTOH

Spawn
17.10.2021, 12:30
P.S Не работает ни с HTON, ни с NTOH

Тогда ответить на пост Валенка.

Если же хочется
убедиться в том, что это проблема не в моем коде, то можно перейти на PLCWinNT24 и "адаптировать" Ваш код под него. Где-то на форуме была "запретная плюшка" от capzap, которая поможет в этом деле. На счет ПЛК110-60 не скажу, но у меня получилось реализовать обмен с сокетами на ПЛК100 и на PLCWinNT24 (код для PLCWinNT24 не просите, в нем полный хаос, он так... для тестов).

dariga5
18.10.2021, 07:19
57531575325753357534

Валенок
18.10.2021, 07:59
..........

dariga5
18.10.2021, 08:26
Спасибо за ответ.
P.S Я знаю, что в ПЛК 110-60 сразу стоит не блокирующий режим, но попробовать стоило, я ничего от этого не потерял. IsConnect нужен просто для отладки, а определяется он через число отправлены байт, потому что SysSockConnect обычно пургу возвращает, на сколько мне известно.