// Connect to the time server public void Connect() { try { IPAddress hostadd = DNS.Resolve(TimeServer); IPEndPoint EPhost = new IPEndPoint(hostadd, 123); UDPClient TimeSocket = new UDPClient(); TimeSocket.Connect(EPhost); Initialize(); TimeSocket.Send(NTPData, NTPData.Length); NTPData = TimeSocket.Receive(ref EPhost); if (!IsResponseValid()) { throw new Exception("Invalid response from " + TimeServer); } ReceptionTimestamp = DateTime.Now; } catch (SocketException e) { throw new Exception(e.Message); } }
private void Run() { while (!m_terminate) { Thread.Sleep(10); if (null != m_loginClient) { TCPClient.EReceiveCode retCode = m_loginClient.Receive(); if (retCode == TCPClient.EReceiveCode.RCV_CODE_OK) { while (true) { int msgLen = m_loginClient.bufToMsg(ref m_loginRcvBuf); if (msgLen <= 0) { break; } NetController.Instance.AddMsg(m_loginRcvBuf, msgLen); } } else if (retCode == TCPClient.EReceiveCode.RCV_CODE_CLOSE) { } else if (retCode == TCPClient.EReceiveCode.RCV_CODE_ERR) { } } if (null != m_gateClient) { TCPClient.EReceiveCode retCode = m_gateClient.Receive(); if (retCode == TCPClient.EReceiveCode.RCV_CODE_OK) { while (true) { int msgLen = m_gateClient.bufToMsg(ref m_gateRcvBuf); if (msgLen <= 0) { break; } NetController.Instance.AddMsg(m_gateRcvBuf, msgLen); } } else if (retCode == TCPClient.EReceiveCode.RCV_CODE_CLOSE) { } else if (retCode == TCPClient.EReceiveCode.RCV_CODE_ERR) { } } if (null != m_crossClient) { int retCode = m_crossClient.Receive(); if (retCode >= 0) { while (true) { int msgLen = m_crossClient.bufToMsg(ref m_crossRcvBuf); if (msgLen <= 0) { break; } NetController.Instance.AddMsg(m_crossRcvBuf, msgLen); } } } } }