Exemple #1
0
        // 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);
            }
        }
Exemple #2
0
    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);
                    }
                }
            }
        }
    }