Эммм... а как расшифровывается BE, LE?
Подскажите пожалуйста, как в данном случае можно указать адрес (.sin_addr) в правильном формате с помощью htonl() ?
Вот отрывок из рабочего кода на данный момент в ПЛК ОВЕН110-30М:
IF diSocket = SOCKET_INVALID THEN
diSocket := SysSockCreate(SOCKET_AF_INET, SOCKET_DGRAM, SOCKET_IPPROTO_UDP);
IF diSocket <> SOCKET_INVALID THEN
sa_SendRecv.sin_addr := SHL( SHL( SHL(
BYTE_TO_DWORD(strIPaddress[0] ), 8 )
OR BYTE_TO_DWORD( strIPaddress[1] ), 8 )
OR BYTE_TO_DWORD( strIPaddress[2] ), 8 )
OR BYTE_TO_DWORD( strIPaddress[3] );
sa_SendRecv.sin_family := SOCKET_AF_INET;
sa_SendRecv.sin_port := SysSockHtons(wPort);
END_IF
END_IF
Последний раз редактировалось vooodooo22; 28.01.2016 в 13:32.
Делая что-то не правильно, вы никогда не потеряете полученный опыт