Может кому понадобицо. Вобщем, ТСР удалось поднять. SysSockListen и SysSockConnect завершившись корректно возвращают ноль. То есть код нужно поправить приблизительно так:
для сервера:
IF BOOL_TO_INT( SysSockListen( m_dnSocket, 1 ) ) = 0 THEN
(* законектились *);
END_IF;
для клиента
IF BOOL_TO_INT( SysSockConnect( m_dnSocket, ADR( m_SAddress ), SIZEOF( m_SAddress ) ) ) = 0 THEN
(* законектились *);
END_IF;
Соответственно, вызывать их нужно по таймеру. пока не будет конекта, а не один раз... ))
Причем сокет должен быть настроен для блокирующего режима. где то так:
m_dwVal := 1;
SysSockSetOption( m_dnSocket, SOCKET_IPPROTO_TCP, SOCKET_TCP_NODELAY, ADR( m_dwVal ), SIZEOF( m_dwVal ) );




Ответить с цитированием