Наш SNTP сервер не отвечает на мои запросы
Всем привет,
Я написал клиентский код SNTP для получения информации о времени, как показано ниже. В этом случае код останавливается на строке _sntpMessageRequest.SNTPData = _udpClient.Receive (ref _ipEndpoint); так как SNTP-сервер не отвечает.
public bool QueryTimeSynchronizationServer() { UdpClient _udpClient = null; IPEndPoint _ipEndpoint = null; string _ipString = null; IPAddress _ipAddress = null; int _portNumber = 123; try { _ipString = "ip address"; IPAddress.TryParse(_ipString, out _ipAddress); _ipEndpoint = new IPEndPoint(_ipAddress, _portNumber); //SNTPMessageRequest-> a object holds the Byte array for SNTP request and do other supporting functions SNTPMessageRequest _sntpMessageRequest = FrameSNTPMessageRequest(); using (_udpClient = new UdpClient(123)) { _udpClient.Client.SendTimeout = 5000; _udpClient.Client.ReceiveTimeout = 5000; _udpClient.Connect(_ipEndpoint); _udpClient.Send(_sntpMessageRequest.SNTPData, _sntpMessageRequest.SNTPData.Length); //Code stops at below line as SNTP Server is not responding. _sntpMessageRequest.SNTPData = _udpClient.Receive(ref _ipEndpoint); _sntpMessageRequest.ReceptionTimestamp = DateTime.Now; string _serverTime = _sntpMessageRequest.TransmitTimeStamp.ToString(); } } catch (Exception ex) { } return true; } private SNTPMessageRequest FrameSNTPMessageRequest() { SNTPMessageRequest _sntpMessageRequest = new SNTPMessageRequest(); _sntpMessageRequest.VersionNumber = VersionNumber.Version3; _sntpMessageRequest.Mode = Mode.Client; for (int i = 1; i < 48; i++) { _sntpMessageRequest.SNTPData[i] = 0; } _sntpMessageRequest.TransmitTimeStamp = DateTime.Now.ToLocalTime(); return _sntpMessageRequest; }
Пожалуйста, помогите мне с тем, где я делаю ошибку.
заранее спасибо.
Ранджит.
Что я уже пробовал:
Я попытался отправить SNTP-запрос со всеми четырьмя версиями (1-4), но сервер не отвечает.