Конференция "Сети" » Немогу соединиться с SNTP сервером [D7, WinXP]
 
  • Alex_C (26.11.07 09:20) [0]
    Делаю так:
       SNTPSocket := TClientSocket.Create(Self);
       SNTPSocket.Host := 'ntps1-0.cs.tu-berlin.de';
       SNTPSocket.Port := 123;
       SNTPSocket.Active := True;

    Выходит ошибка:
    Connection error; Error code 10061

    Что не так делаю?
    P.S. Адрес 'ntps1-0.cs.tu-berlin.de' опробованный - работает.
  • Сергей М. © (26.11.07 09:24) [1]

    > Что не так делаю?


    Не тот компонент используешь.
    Следует использовать UDP-based-компоненты.
  • Alex_C (26.11.07 10:05) [2]
    Еще раз большое спасибо Сергею М. за отличные советы!!!
  • Alex_C (26.11.07 11:01) [3]
    Сейчас использую компонент UdpSocket.
    На событие OnConnect пишу:

       Memo1.Lines.Add('Server of connected : ' + UDPSocket1.RemoteHost);
       UDPSocket1.SendBuf(NTPDataGram, SizeOf(NTPDataGram));

    где NPTDataGram - заполненная структура для получения данных времени (заполнена правильно, проверял на Indy-компоненте).
    Но событие OnReceive - не происходит :(
  • Сергей М. © (26.11.07 11:42) [4]

    > событие OnReceive - не происходит


    События не "приходят", они происходят.
    Событие OnReceive может произойти только как следствие вызова receive-метода.
  • Alex_C (26.11.07 13:43) [5]
    То Сергей М. : Может я что-то ни так понимаю? Я делал телнет на основе TClientSocket. Там, когда приходили данные, происходило событие ClientOnRead.
    Я так думал, что посылая SendBuf необходимо в событии OnReceive прописать действие, которое произойдет, когда появятся данные для приема. Или что-то не так?
  • Сергей М. © (26.11.07 15:11) [6]

    > Или что-то не так?


    TClientSocket - это не TTCPClient и тем более не TUDPSocket.

    Принципиальное отличие - ни TTCPClient ни TUDPSocket не предназначены для работы в режиме асинхронных нотификаций о событиях транспорта.
 
Конференция "Сети" » Немогу соединиться с SNTP сервером [D7, WinXP]
Есть новые Нет новых   [134431   +10][b:0][p:0]