Esempio n. 1
0
        public void GuiDanhSachSinhVien(List <Student> students)
        {
            DataContainer dataContainer = new DataContainer(DataContainerType.GuiDanhSachSV, students);

            byte[] buffer = dataContainer.Serialize();

            foreach (Socket item in clientList)
            {
                item.Send(buffer);
            }
        }
Esempio n. 2
0
        public void GuiTinNhanChoTatCaMayCon(string tinNhan)
        {
            DataContainer dataContainer = new DataContainer(DataContainerType.GuiThongBaoAll, tinNhan);

            byte[] buffer = dataContainer.Serialize();

            foreach (Socket item in clientList)
            {
                item.Send(buffer);
            }
        }
Esempio n. 3
0
        public void PhatDeThi(List <string> danhSachDeThi)
        {
            //nếu danh sách đề thi mà không có gì cả thì ngắt kết nối
            if (danhSachDeThi.Count == 0)
            {
                return;
            }
            //tạo danh sách của FileContainer để lưu
            List <FileContainer> listOfFiles = new List <FileContainer>();

            //với mỗi phần tử của danhSachDeThi
            foreach (string deThiURL in danhSachDeThi)
            {
                //sẽ gửi các phần tử của listOfFiles vào danhSachDeThi và lưu ngay trên constructor của FileContainer
                listOfFiles.Add(new FileContainer(deThiURL, this.clientPath));
            }
            //neeus chi cos 1 de
            if (danhSachDeThi.Count == 1)
            {
                //lấy phần tử đầu tiên của FileContainer
                FileContainer fileDeThi = listOfFiles[0];
                //này hiểu nhưng chẳng biết cách viết ra sao, chắc phải lươn
                foreach (Socket client in clientList)
                {
                    //lấy file đề thi bỏ vào constructor của DataContainer với định dạng là Phát đề
                    DataContainer container = new DataContainer(DataContainerType.PhatDe, fileDeThi);
                    //mã hóa và gửi cho client
                    client.Send(container.Serialize());
                }
            }

            if (danhSachDeThi.Count > 1)
            {
                int soLuongDeThi = danhSachDeThi.Count;

                int counter = 0;

                foreach (Socket client in clientList)
                {
                    DataContainer container = new DataContainer(DataContainerType.PhatDe, listOfFiles[counter]);
                    client.Send(container.Serialize());

                    counter++;

                    if (counter == soLuongDeThi)
                    {
                        counter = 0;
                    }
                }
            }
        }
Esempio n. 4
0
        public void batDauLamBai(int sophut)
        {
            DataContainer container = new DataContainer(DataContainerType.BeginExam, sophut);

            foreach (Socket item in clientList)
            {
                item.Send(container.Serialize());
            }

            if (_onNotification != null)
            {
                _onNotification("Begin examination");
            }
        }
Esempio n. 5
0
        public void CamChuongTrinh(List <string> programs)
        {
            DataContainer container = new DataContainer(DataContainerType.BlockProgram, programs);

            foreach (Socket item in clientList)
            {
                item.Send(container.Serialize());
            }

            if (_onNotification != null)
            {
                _onNotification("List of locking program have send");
            }
        }
Esempio n. 6
0
 public void DisconnectAll()
 {
     //tạo một luồng Socket
     foreach (Socket socket in clientList)
     {
         //obj ở đây sẽ cho thành null
         DataContainer response = new DataContainer(DataContainerType.DisconnectAll, null);
         //mã hóa lại ...
         socket.Send(response.Serialize());
     }
     //Xóa danh sách client
     clientList.Clear();
     //chuyển định dạng của các máy con thành DisconnectAll(được viết kỹ bên ClientInfoManager)
     clientInfoManager.DisconnectAll();
 }
Esempio n. 7
0
        public void ThuBai()
        {
            //DataContainer container = new DataContainer(DataContainerType.ThuBai, null);

            //foreach (Socket socket in clientList)
            //{
            //	socket.Send(container.Serialize());
            //}
            DataContainer container = new DataContainer(DataContainerType.ThuBai, null);

            foreach (Socket socket in clientList)
            {
                socket.Send(container.Serialize());
            }

            if (_onNotification != null)
            {
                _onNotification("Sent notification to All Client");
            }
        }