Показано с 1 по 10 из 27

Тема: UDP и SysLibSockets.lib

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    BE vs LE это как битва тупо и остроконечников.
    Порядок байт, на Интел BE (Big Endian), на ARM LE (little endian).
    Соответственно
    sa_SendRecv.sin_addr := SysSockHtonl(IP_addr);
    И ведь 1/2 Вы сделали, поставив sa_SendRecv.sin_port := SysSockHtons(wPort); ?!?
    Тролль-наседка, добрый, нежный и ласковый

  2. #2

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    ...
    Соответственно
    sa_SendRecv.sin_addr := SysSockHtonl(IP_addr);...
    я так понимаю тип данных переменной IP_addr тут будет DWORD. Т.е. изначально все равно необходимо привести IP адрес к DWORD`у из байтового массива. Например:
    dwIP_addr : DWORD;
    abyIPaddress : ARRAY[0..3] OF BYTE := '192.168.225.021';

    dwIP_addr := SHL( SHL( SHL(
    BYTE_TO_DWORD(abyIPaddress[0] ), 8 )
    OR BYTE_TO_DWORD( abyIPaddress[1] ), 8 )
    OR BYTE_TO_DWORD( abyIPaddress[2] ), 8 )
    OR BYTE_TO_DWORD( abyIPaddress[3] );

    sa_SendRecv.sin_addr := SysSockHtonl(dwIP_addr);
    так? =)
    Делая что-то не правильно, вы никогда не потеряете полученный опыт

  3. #3

    По умолчанию

    Цитата Сообщение от vooodooo22 Посмотреть сообщение
    я так понимаю тип данных переменной IP_addr тут будет DWORD. Т.е. изначально все равно необходимо привести IP адрес к DWORD`у из байтового массива. Например:
    так? =)
    да, именно так
    Тролль-наседка, добрый, нежный и ласковый

  4. #4

    По умолчанию

    Спасибо большое! Теперь все работает и на реальном ПЛК и на симуляторе!

    Сейчас разбираюсь с блокирующими сокетами. Есть такая функция SysSockSelect(). Не до конца понимаю что должны принимать ее параметры fdRead, fdWrite и fdExcept.

    Подскажите пожалуйста правильно ли я понимаю, что каждый из этих параметров это массив (тип данных не понял), который в каждой ячейке памяти хранит значение дискриптора сокета (или значение SOCKET_INVALID)?

    Как в таком случае правильно задать параметры для функции SysSockSelect()?

    Прошу прощения за расторопность, описание нашел в справке Codesys v2.3 =)
    Последний раз редактировалось vooodooo22; 01.02.2016 в 09:31.
    Делая что-то не правильно, вы никогда не потеряете полученный опыт

Похожие темы

  1. SysLibSockets
    от mettled в разделе ПЛК1хх
    Ответов: 36
    Последнее сообщение: 20.01.2014, 15:23
  2. помогите: использование библиотеки SysLibSockets.lib
    от незарегистрированный в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 26.11.2007, 22:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •