![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Немогу соединиться с SNTP сервером [D7, WinXP]
Alex_C © (2007-11-26 09:20:00)Делаю так:
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' опробованный - работает.
Сергей М. (2007-11-26 15:11:00) [1]
> Или что-то не так?
TClientSocket - это не TTCPClient и тем более не TUDPSocket.
Принципиальное отличие - ни TTCPClient ни TUDPSocket не предназначены для работы в режиме асинхронных нотификаций о событиях транспорта.
Alex_C (2007-11-26 13:43:00) [2]То Сергей М. : Может я что-то ни так понимаю? Я делал телнет на основе TClientSocket. Там, когда приходили данные, происходило событие ClientOnRead.
Я так думал, что посылая SendBuf необходимо в событии OnReceive прописать действие, которое произойдет, когда появятся данные для приема. Или что-то не так?
Сергей М. (2007-11-26 11:42:00) [3]
> событие OnReceive - не происходит
События не "приходят", они происходят.
Событие OnReceive может произойти только как следствие вызова receive-метода.
Alex_C (2007-11-26 11:01:00) [4]Сейчас использую компонент UdpSocket.
На событие OnConnect пишу:
Memo1.Lines.Add('Server of connected : ' + UDPSocket1.RemoteHost);
UDPSocket1.SendBuf(NTPDataGram, SizeOf(NTPDataGram));
где NPTDataGram - заполненная структура для получения данных времени (заполнена правильно, проверял на Indy-компоненте).
Но событие OnReceive - не происходит :(
Alex_C (2007-11-26 10:05:00) [5]Еще раз большое спасибо Сергею М. за отличные советы!!!
Сергей М. (2007-11-26 09:24:00) [6]
> Что не так делаю?
Не тот компонент используешь.
Следует использовать UDP-based-компоненты.