Exemple #1
0
        private void processRequest(string dataFromClient)
        {
            JObject jObject = JObject.Parse(dataFromClient);

            MyTransactionFactory factory     = MyTransactionFactory.getInstance();
            MyBaseTransaction    transaction = factory.createTransaction(jObject);

            switch (transaction.MyTransactioncode)
            {
            case Transaction_Code.sv_disconnect:
                // Nếu server đóng thì client cũng sẽ close session
                MessageBox.Show("You has beend disconnect from server!");
                stop();
                break;

            case Transaction_Code.sv_question:
                MyTr_Sv_Question transQuestion = factory.recreateMyTr_Sv_Question(jObject);
                _currentQuestion = transQuestion.Question;
                updateQuestionToForm(_currentQuestion);
                break;

            case Transaction_Code.sv_end_questions:
                MessageBox.Show("Bài kiểm tra đã kết thúc!");
                clearAllAnswerButton();
                break;
            }
        }
 internal void sendToAll(MyBaseTransaction transaction)
 {
     for (int i = 0; i < _lClients.Count; i++)
     {
         _lClients[i].sendTransaction(transaction);
     }
 }
Exemple #3
0
        private void Login_FormClosed(object sender, FormClosedEventArgs e)
        {
            MyBaseTransaction info = new MyBaseTransaction();

            info.MyTransactioncode = Transaction_Code.cl_disconnect;
            _mysendFactory.sendJsonObject(info);
            _socketMange.stopConnection();
        }
Exemple #4
0
 internal void sendTransaction(MyBaseTransaction transaction)
 {
     if (transaction.MyTransactioncode == Transaction_Code.sv_question)
     {
         _currentIndexQuestion += 1;
     }
     _mysendFactory.sendJsonObject(transaction);
 }
        internal void sendToAll(Transaction_Code code)
        {
            MyBaseTransaction transaction = new MyBaseTransaction();

            transaction.MyTransactioncode = code;
            for (int i = 0; i < _lClients.Count; i++)
            {
                _lClients[i].sendTransaction(transaction);
            }
        }
Exemple #6
0
        private void stop()
        {
            MyBaseTransaction transaction = new MyBaseTransaction();

            transaction.MyTransactioncode = Transaction_Code.cl_disconnect;

            isRunning = false;
            _listenFromServer.Interrupt();
            _mysendFactory.sendJsonObject(transaction);
            mysocketManage.stopConnection();
        }
Exemple #7
0
        private void Stop()
        {
            // Send a message to all client that server has been stopped
            MyBaseTransaction tr_disconect = new MyBaseTransaction();

            tr_disconect.MyTransactioncode = Transaction_Code.sv_disconnect;
            _myClientManage.sendToAll(tr_disconect);

            serverSocket.Stop();
            _myListenAccept.stop();
            _threadmanage.StopManage();
        }
Exemple #8
0
        public void processRequest(string requestdata)
        {
            JObject jObject = JObject.Parse(requestdata);

            MyTransactionFactory factory     = MyTransactionFactory.getInstance();
            MyBaseTransaction    transaction = factory.createTransaction(jObject);

            switch (transaction.MyTransactioncode)
            {
            case Transaction_Code.cl_client_connect_infor:
                string _password = _currentForm.getPassword();
                MyTr_Client_Connect_Infor transactionoff = (MyTr_Client_Connect_Infor)transaction;
                if (_password == transactionoff.password)
                {
                    // if password is match
                    this.Username = transactionoff.username;
                    MyBaseTransaction info = new MyBaseTransaction();
                    info.MyTransactioncode = Transaction_Code.sv_login_accept;
                    _mysendFactory.sendJsonObject(info);
                    _currentForm.addClientToListView(this);

                    _currentForm.addToReceiverText(">> User có id: " + id + " có tên: " + username);
                }
                else
                {
                    // if password not match
                    _currentForm.addToReceiverText(">> User có id: " + id + " thử kết nối nhưng không đúng mật khẩu.");
                    _mysendFactory.quickSendJsonObject(Transaction_Code.sv_incorrect_info);
                }
                break;

            case Transaction_Code.cl_disconnect:
                Stop();
                _currentForm.addToReceiverText(">> User " + username + "(" + id + ") đã ngắt kết nối!");
                break;

            case Transaction_Code.cl_answer_question:
                MyTr_Cl_AnswerQuestion trans_answer = new MyTr_Cl_AnswerQuestion();
                trans_answer = factory.recreateMyTr_Cl_AnswerQuestion(jObject);
                _currentForm.updateClientAnswer(this, trans_answer.Answer);
                setClientAnswer(trans_answer.Answer, _currentIndexQuestion);
                break;
            }
        }
Exemple #9
0
        private void processRequest(string dataFromClient)
        {
            JObject jObject = JObject.Parse(dataFromClient);

            MyTransactionFactory factory     = MyTransactionFactory.getInstance();
            MyBaseTransaction    transaction = factory.createTransaction(jObject);

            switch (transaction.MyTransactioncode)
            {
            case Transaction_Code.sv_incorrect_info:
                MessageBox.Show("Password not match!");
                break;

            case Transaction_Code.sv_login_accept:
                Client client = new Client();
                this.Hide();
                client.Show();
                break;

            case Transaction_Code.sv_disconnect:
                MessageBox.Show("Server has been close or not found!");
                break;
            }
        }