示例#1
0
        public void monitorClients()
        {
            while (true)
            {
                List<ClientDetails> garbageList = new List<ClientDetails>();
                try
                {
                    foreach (ClientDetails clients in parallelListener.listOfClients)
                    {
                        try
                        {
                            if (clients != null)
                            {
                                if (clients.server != null)
                                {
                                    NetworkStream networkStream = clients.clientSocket.GetStream();
                                    networkStream.Flush();

                                    IMPacket askForClientList = new IMPacket();
                                    askForClientList.Action = Mnemonics.Actions.heartBeat;
                                    String JSONServerResponse = JsonConvert.SerializeObject(askForClientList);

                                    String serverResponse = JSONServerResponse + Environment.NewLine;
                                    byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse);
                                    networkStream.Write(sendBytes, 0, sendBytes.Length);
                                    networkStream.Flush();
                                }
                                else
                                {
                                    garbageList.Add(clients);
                                }
                            }

                            foreach (ClientDetails client in garbageList)
                            {
                                parallelListener.listOfClients.Remove(client);
                            }
                        }
                        catch (Exception e)
                        {
                            clients.server.clientSocket.Close();
                            clients.server.listOfClients.Remove(clients.server.ClientID);
                            clients.server.removeUser(clients.label);

                            garbageList.Add(clients);
                        }
                    }
                }
                catch (Exception e)
                {

                }

                Thread.Sleep(5000);
            }
        }
示例#2
0
        private void lstb_UserList_SelectedValueChanged(object sender, EventArgs e)
        {
            IMPacket sendIM = new IMPacket();
            sendIM.Action = Mnemonics.Actions.deviceType;
            sendIM.SourceUsername = EvergreenMasterRemote.Properties.Settings.Default.Username;
            sendIM.TargetUsername = lstb_UserList.SelectedItem.ToString();
            sendIM.Message = String.Empty;
            String JSONServerResponse = JsonConvert.SerializeObject(sendIM);

            writeToServerHalfCall(JSONServerResponse);
        }        
示例#3
0
        public void sendMnemonic(String message)
        {
            IMPacket sendIM = new IMPacket();
            sendIM.Action = Mnemonics.Actions.senddatanow;
            sendIM.SourceUsername = EvergreenMasterRemote.Properties.Settings.Default.Username;
            sendIM.TargetUsername = lstb_UserList.SelectedItem.ToString();
            sendIM.Message = message;
            String JSONServerResponse = JsonConvert.SerializeObject(sendIM);

            writeToServerHalfCall(JSONServerResponse);
        }        
示例#4
0
 private void sendData()
 {
     if (txtb_SendData.Text == String.Empty)
         return;
     try
     {
         IMPacket sendIM = new IMPacket();
         sendIM.Action = Mnemonics.Actions.senddatanow;
         sendIM.SourceUsername = OculusClient.Properties.Settings.Default.Username;
         sendIM.TargetUsername = cmb_ClientList.Items[cmb_ClientList.SelectedIndex].ToString();
         sendIM.Message = txtb_SendData.Text;
         String JSONServerResponse = JsonConvert.SerializeObject(sendIM);
         writeToServer(JSONServerResponse);
         displayLine(OculusClient.Properties.Settings.Default.Username+">"+ txtb_SendData.Text);                
         txtb_SendData.Text = String.Empty;                
     }
     catch (Exception ex)
     {
         displayLine("Error Message at Send Button:" + ex.Message);
     }
     
 }
示例#5
0
 private void callClientList()
 {
     IMPacket askForClientList = new IMPacket();
     askForClientList.Action = Mnemonics.Actions.clientlist;
     String JSONServerResponse = JsonConvert.SerializeObject(askForClientList);
     writeToServer(JSONServerResponse);
 }
示例#6
0
        public void pollClientList()
        {
            try
            {
                IMPacket askForClientList = new IMPacket();
                askForClientList.Action = Mnemonics.Actions.clientlist;
                String JSONServerResponse = JsonConvert.SerializeObject(askForClientList);

                writeToServerHalfCall(JSONServerResponse);

                Thread.Sleep(500);
            }
            catch (Exception e)
            {
                displayInMainForm("Unable to get client list", true);
            }
        }