示例#1
0
        public void run()
        {
            cs = new ClientSocket.ClientSocket();
            Console.WriteLine("venter");
            //Console.ReadKey();
            Socket handler = cs.ConnectToServer();

            Console.WriteLine("send?");
            //Console.ReadKey();
            sr = new SendRecive(handler);
            sr.Send("Test1");
            Console.WriteLine("sendt");
            sr.Send("Test2");
            sr.Send("Test3");
            sr.Send("Test4");
            Console.ReadKey();
        }
示例#2
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            SrvRun = true;
            LoggedInCount = 0;
            List<string> UserList = new List<string>();
            using (StreamReader sr = new StreamReader(Path.Combine(Application.StartupPath, "UserList.txt"), Encoding.UTF8))
            {
                string line = "";
                while ((line = sr.ReadLine()) != null)
                {
                    UserList.Add(line.ToString().Trim());
                }
            }

            if (UserList.Count < nUDConnects.Value)
            {
                MessageBox.Show("測試帳號樣本不夠.");
                return;
            }

            string UserID = "";
            for (int i = 0; i < nUDConnects.Value; i++)
            {
                UserID = UserList[i];
                ClientSocket clientSocket = new ClientSocket(GetLX_IP(IP.Text), Convert.ToInt32(Port.Text));
                clientSocket.Connect(true);
                //clientSocket.ReciveMsg -= ReciveMsgs;
                clientSocket.ReciveMsg += ReciveMsgs;
                clientSocket.Send("Log in", "0", UserID, "Test User #" + i.ToString(), "", Guid.NewGuid().ToString().ToString().Replace("-", "").ToUpper());
                

                // 將新連接加入轉發表並創建線程為其服務
                lock (_transmit_tb.SyncRoot)
                {
                    _transmit_tb.Add(UserList[i], clientSocket);
                }

                try
                {
                    Thread clientThread = new Thread(new ParameterizedThreadStart(ThreadFunc));
                    //加入哈希表
                    _thread_tb.Add(UserID, clientThread);
                    clientThread.Start(UserID);
                    this.BeginInvoke(updateSendUi, DateTime.Now.ToString("HH:mm:ss:fff") + "->" + UserID + "成功連接到服務器");
                    //richTextBox1.AppendText(DateTime.Now.ToString("HH:mm:ss:fff") + ": " + UserID + "成功連接到服務器" + IP.Text + "\r\n");
                }
                catch (Exception ex)
                {
                    try
                    {
                        // 發生錯誤時移除連接
                        lock (_transmit_tb.SyncRoot)
                        {
                            //_transmit_tb.Add(UserID, newClient);
                            _transmit_tb.Remove(UserID);
                        }
                        this.BeginInvoke(updateSendUi, DateTime.Now.ToString("HH:mm:ss:fff") + "->" + UserID + "無法連接到服務器");
                        //richTextBox1.AppendText(DateTime.Now.ToString("HH:mm:ss:fff") + ": " + UserID + "無法連接到服務器" + IP.Text + "\r\n");
                    }
                    catch
                    { }
                }
            }
        }
示例#3
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string UserID = "";
            int FailedCount = 0;
            this.BeginInvoke(updateStatUi, FailedCount);
            int i = 1024;
            foreach (ListViewItem item in lvUsersList.Items)
            {
                UserID = item.SubItems["user_id"].Text;
                ClientSocket clientSocket = new ClientSocket(GetLX_IP(IP.Text), Convert.ToInt32(Port.Text));
                clientSocket.ReciveMsg -= ReciveMsgs;
                clientSocket.ReciveMsg += ReciveMsgs;

                clientSocket.Connect(true);
                item.Tag = clientSocket;
                item.SubItems["login_start"].Text = DateTime.Now.ToString("HH:mm:ss.fff");
                try
                {
                    clientSocket.Send("PC33", "0", UserID, UserID, "", Guid.NewGuid().ToString().ToString().Replace("-", "").ToUpper());
                    //登錄數據
                    //類別A;流量(Byte);耗時(ms);開始(當地)日期(yyyy/MM/dd);開始(當地)時間(HH:mm:ss.fff);結束(當地)日期(yyyy/MM/dd);結束(當地)時間(HH:mm:ss.fff)|類別B;流量(Byte);耗時(ms);開始(當地)日期(yyyy/MM/dd);開始(當地)時間(HH:mm:ss,fff);結束(當地)日期(yyyy/MM/dd);結束(當地)時間(HH:mm:ss,fff)
                    clientSocket.Send("1;" + i.ToString() + ";10;2016/06/04;11:54:12.123;2016/06/04;11:54:12.133", "Z", UserID, "", "", Guid.NewGuid().ToString().ToString().Replace("-", "").ToUpper());
                    i += 1024;
                }
                catch (Exception ex)
                {
                    FailedCount++;
                    this.BeginInvoke(updateStatUi, FailedCount);
                    item.SubItems["msg_text"].Text = ex.Message;
                    item.SubItems["user_state"].Text = "失敗";
                }


                // 將新連接加入轉發表並創建線程為其服務
                //lock (_transmit_tb.SyncRoot)
                //{
                //    _transmit_tb.Add(UserList[i], clientSocket);
                //}

                //try
                //{
                //    Thread clientThread = new Thread(new ParameterizedThreadStart(ThreadFunc));
                //    //加入哈希表
                //    _thread_tb.Add(UserID, clientThread);
                //    clientThread.Start(UserID);
                //    this.BeginInvoke(updateSendUi, DateTime.Now.ToString("HH:mm:ss:fff") + "->" + UserID + "成功連接到服務器");
                //    //richTextBox1.AppendText(DateTime.Now.ToString("HH:mm:ss:fff") + ": " + UserID + "成功連接到服務器" + IP.Text + "\r\n");
                //}
                //catch (Exception ex)
                //{
                //    try
                //    {
                //        // 發生錯誤時移除連接
                //        lock (_transmit_tb.SyncRoot)
                //        {
                //            //_transmit_tb.Add(UserID, newClient);
                //            _transmit_tb.Remove(UserID);
                //        }
                //        this.BeginInvoke(updateSendUi, DateTime.Now.ToString("HH:mm:ss:fff") + "->" + UserID + "無法連接到服務器");
                //        //richTextBox1.AppendText(DateTime.Now.ToString("HH:mm:ss:fff") + ": " + UserID + "無法連接到服務器" + IP.Text + "\r\n");
                //    }
                //    catch
                //    { }
                //}
            }
        }
示例#4
0
 private void btnLogin_Click(object sender, EventArgs e)
 {
     try
     {
         clientSocket = new ClientSocket(GetLX_IP(IP.Text), Convert.ToInt32(Port.Text));
         clientSocket.Connect(true);
         clientSocket.ReciveMsg -= ReciveMsgs;
         clientSocket.ReciveMsg += ReciveMsgs;
         clientSocket.Send(NAME.Text, "0", ID.Text, NAME.Text, "", Guid.NewGuid().ToString().ToString().Replace("-", "").ToUpper());
         //richTextBox1.AppendText(ID.Text + "已經連接到服務器" + IP.Text + "\r\n");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }