示例#1
0
        private void button1_Click(object sender, EventArgs e)
        {
            int prt = Int32.Parse(portTextBox.Text);

            gClient                = new GateClient(ipTextBox.Text, prt, 1024);
            gClient.onConnect     += tcpClient_onConnect;
            gClient.onDisconnect  += tcpClient_onDisconnect;
            gClient.onError       += tcpClient_onError;
            gClient.onReceiveData += tcpClient_onReceiveData;
            gClient.onSendData    += tcpClient_onSendData;

            gClient.connect();
        }
示例#2
0
    static void GateServerAutoTest()
    {
        mGateClient.Connect(mGateServerIP, mGateServerPort);

        for (int indexPlayer = 0; indexPlayer < mGateClients.Length; indexPlayer++)
        {
            mGateClients[indexPlayer] = new GateClient();
        }

        int    nLoopCount = 0;
        Random rand       = new Random();

        while (true)
        {
            nLoopCount++;
            Thread.Sleep(33);

            bool bConnected = true;
            bool bLogin     = true;

            // Update
            for (int indexPlayer = 0; indexPlayer < mGateClients.Length; indexPlayer++)
            {
                mGateClients[indexPlayer].Update(33.0f / 1000.0f);
            }

            // Connect
            for (int indexPlayer = 0; indexPlayer < mGateClients.Length; indexPlayer++)
            {
                if (mGateClients[indexPlayer].IsConnected() == false)
                {
                    mGateClients[indexPlayer].Connect(mGateServerIP, mGateServerPort);
                    bConnected = false;
                }
            }
            if (bConnected == false)
            {
                Console.WriteLine("Connect..." + nLoopCount.ToString());
                continue;
            }

            // Login
            for (int indexPlayer = 0; indexPlayer < mGateClients.Length; indexPlayer++)
            {
                if (mGateClients[indexPlayer].IsLogin() == false)
                {
                    mGateClients[indexPlayer].RequestLogin((uint)(DateTime.Now.Millisecond + DateTime.Now.Second * 1000));
                    bLogin = false;
                }
            }
            if (bLogin == false)
            {
                Console.WriteLine("Login..." + nLoopCount.ToString());
                continue;
            }

            // Match
            for (int indexPlayer = 0; indexPlayer < mGateClients.Length; indexPlayer++)
            {
                mGateClients[indexPlayer].RequestMatch(rand.Next(10000));
            }
        }
    }