Здравствуйте, уважаемые форумчане.
Использую ПЛК100, Codesys v2.3. Библиотеку SyslibSockets v.20.2.06(взята с диска поставки).
Во-первых не работает функция SysSockInetAddr('string IP'). Ну ладно, можно и обойтись без нее.
Во-вторых функция SysSockConnect() при любом случае у меня возвращает FALSE. Имею в виду, если успешно подключаюсь к серверу TCP, то результат False, если не подключается, то все равно False. Сервер TCP на Windows. Как такое может быть?
Код:
Код:
address.sin_addr:=172*256*256*256+17*256*256+98*256+44;
address.sin_family:=SOCKET_AF_INET;
address.sin_port:=SysSockHtons(port);
addressPointer:=ADR(address);
IF socketId=0 THEN
socketId:=SysSockCreate(SOCKET_AF_INET,SOCKET_STREAM,0);
result:=SysSockConnect(socketId,addressPointer,SIZEOF(address));
END_IF
Сама функция, если сервер TCP доступен, выполняет подключение(вижу на сервере подключение). И в принципе дальше работает Send, и сервер все получает. Но вопрос: как проверять выполнилось ли подключение? какую функцию для этого использовать? как получить ошибки(сервер сбросил подключение, таймаут и т.п.)