青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 124,  comments - 29,  trackbacks - 0

在MonitorWnd.cs類中:
事件處理函數:
//tabControl1是Form窗體中創建的控件,也就是UI線程中創建的控件

//要在事件處理函數中動態的創建TabPage,這個事件處理函數是被另一個read線程調用的

  private void MonitorWnd_Load(object sender, EventArgs e)
        {
            monAge = new MonitorAgency(curNet);
            monAge.parser.UserAction += new UserActionHandler(parser_UserAction);
            monAge.Connect();

        }
  void parser_UserAction(object sender, UserActionEventArgs args)
        {

            #region
            if (tabControl1.InvokeRequired)
            {
                tabControl1.Invoke(new MethodInvoker(delegate { AddPageToTabControl(tabControl1, args); }));
            }

            else
            {
                AddPageToTabControl(tabControl1, args);
            }
            #endregion
        }


 void AddPageToTabControl(TabControl ctrl, UserActionEventArgs args)
        {
            //TODO:取得一個用戶行為信息的時候引發這個事件
            //動態創建tab頁
            string tabTitle = args.UserName + " " + args.ProcID;
            string addTxt = args.Time + "\r\n" + args.IP + "\r\n" + args.Remark;


            bool isFind = false;

            foreach (TabPage tpUser in this.tabControl1.Controls)
            {
                if (tpUser.Text == tabTitle)
                {
                    isFind = true;
                    string strtxt = ((TextBox)tpUser.Controls[0]).Text;
                    ((TextBox)tpUser.Controls[0]).Text = strtxt + "\r\n" + addTxt;
                    ctrl.SelectedTab = tpUser;
                    break;
                }
            }
            if (isFind == false)
            {
                TabPage newTpUser = new TabPage();
                newTpUser.Text = tabTitle;
                TextBox tb = new TextBox();
                tb.Dock = DockStyle.Fill;
                tb.Multiline = true;
                tb.ScrollBars = ScrollBars.Both;
                tb.Text = addTxt;
                newTpUser.Controls.Add(tb);
                newTpUser.Select();
                ctrl.TabPages.Add(newTpUser);
                ctrl.SelectedTab = newTpUser;
            }

        }

MonitorAgency.cs中:
  1using System;
  2using System.Collections.Generic;
  3using System.Text;
  4using System.Net;
  5using System.Net.Sockets;
  6using System.Diagnostics;
  7using System.Windows.Forms;
  8using System.IO;
  9using System.Xml;
 10using System.Threading;
 11
 12namespace BurEmluator
 13{
 14    public class MonitorAgency
 15    {
 16        memberVar
 39
 40        property
 48        construct
 61        public bool Connect()
 62        {
 63               
 64                   
 65                    try
 66                    {
 67                        //連接互助SOCK
 68                        ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
 69
 70                        ClientSocket.Connect(EPServer);
 71                        //連接互助SOCK
 72                        client.Connect(IPAddress.Parse(m_proxyIP), Convert.ToInt32(m_proxyPort));
 73
 74                        //發送TELNET IP PORT
 75                        //sendMsg = string.Format("telnet %s %s\r\n",m_proxyIP, m_proxyPort);
 76                        //DispatchMessage(sendMsg);
 77                        readThread = new Thread(new ThreadStart(Read));
 78                        readThread.IsBackground = true;
 79                        readThread.Start();
 80
 81                        return true;
 82                    }

 83                    catch (Exception ex)
 84                    {
 85                        MessageBox.Show(ex.Message);
 86                        return false;
 87                    }

 88               
 89            }

 90        private void Close()
 91        {
 92            if (ClientSocket.Connected)
 93            {
 94                ClientSocket.Close();
 95            }

 96        }
 
 97        protected void Read()
 98        {
 99            while (true)
100            {
101                try
102                {
103                    Byte[] Rec = new byte[1024];
104                    NetworkStream netstream = new NetworkStream(ClientSocket);
105                    int iRev = netstream.Read(Rec, 0, Rec.Length);//讀取客戶發送來的信息。
106                    string strRev = System.Text.Encoding.GetEncoding("gb2312").GetString(Rec, 0, iRev);
107                    //輸入需要監控的網元
108                    if (strRev.Length >= 0)
109                    {
110                        if (strRev.IndexOf("請輸入命令"!= -1)
111                        {
112                            sendMsg = "track " + m_curNet + "\r\n";
113
114                            DispatchMessage(sendMsg);
115                        }

116
117                        else
118                        {
119                            int idxend = strRev.LastIndexOf("END");
120                            int idxj = strRev.LastIndexOf("<");
121                            int idxn = strRev.LastIndexOf("\n");
122
123                            if (idxn == strRev.Length-1 || idxend != -1 || idxj != -1)
124                            {
125                                StrMonInfo = StrMonInfo + strRev;
126                                parser.ProcessResult(StrMonInfo);
127                                StrMonInfo = "";
128                            }

129                            else
130                            {
131                                StrMonInfo = StrMonInfo + strRev;
132                            }

133                        }

134                    }

135                   
136
137                }

138                catch (Exception ex)
139                {
140                    MessageBox.Show(ex.Message + ":" + ex.StackTrace.ToString());
141                }

142                Thread.Sleep(100);
143            }

144        }

145        public void CloseConnect(bool p)
146        {
147            if (client != null)
148            {
149                client.Close();
150            }

151            if (readThread.IsAlive == true)
152            {
153                readThread.Abort();
154            }

155        }

156        private void ReadMonitorXML()
157        {
158            string strFilePath = Application.StartupPath + "\\" + "MonitorConfig.xml";
159            XmlDocument xmlDoc = new XmlDocument();
160            xmlDoc.Load(strFilePath);
161            XmlNode xn = xmlDoc.SelectSingleNode("Monitor");
162            foreach (XmlNode cxn in xn.ChildNodes)
163            {
164                if (cxn.Name.Equals("IP"))
165                {
166                    m_proxyIP = cxn.InnerText;
167                }

168                else if (cxn.Name.Equals("Port"))
169                {
170                    m_proxyPort = Convert.ToInt32(cxn.InnerText);
171                }

172            }

173        }

174        private void DispatchMessage(string sendMsg)
175        {
176            NetworkStream netstream = new NetworkStream(ClientSocket);
177            try
178            {
179                Byte[] sendbyte = new Byte[1024];
180
181                sendbyte = System.Text.Encoding.GetEncoding("gb2312").GetBytes(sendMsg.ToCharArray());
182                netstream.Write(sendbyte, 0, sendbyte.Length);//向socket服務器發送信息。
183                netstream.Flush();
184            }

185            catch
186            {
187                System.Windows.Forms.MessageBox.Show("發送失敗");
188                Close();
189            }

190        }
   
191    }

192     
193    public class UserActionEventArgs : EventArgs
194    {
195        public string Time;
196        public string ProcID;
197        public string UserName;
198        public string IP;
199        public string Remark;
200    }

201
202    public delegate void UserActionHandler(object sender, UserActionEventArgs args);
203    public class MonitorResultParser
204    {
205        string result;
206
207        public event UserActionHandler UserAction;
208
209        public void ProcessResult(string strResult)
210        {
211            result = strResult;
212            string strUserAction = "";
213            int idxBegin = 0, idxEnd = 0;
214            while ((idxBegin = result.IndexOf("時間:")) >= 0)
215            {
216                Debug.Write(result.Length + "\r\n");
217                idxEnd = result.IndexOf("時間:", idxBegin + 3);
218                if (idxEnd > idxBegin)
219                {
220                    strUserAction = result.Substring(idxBegin, idxEnd - idxBegin);
221                    Debug.Write(result.Length);
222                    result = result.Substring(idxEnd);
223                    Debug.Write(result.Length + "\r\n");
224                }

225                else if (idxEnd == -1)
226                {
227                    Debug.Write(result.Length);
228                    strUserAction = result.Substring(idxBegin);
229                    result = "";
230                }

231                Debug.Write(strUserAction.Length + "\r\n");
232                UserActionEventArgs arg = ParseResult(strUserAction);
233                UserAction.Invoke(this, arg);
234            }

235        }

236
237        protected UserActionEventArgs ParseResult(string strUserAction)
238        {
239            UserActionEventArgs arg = new UserActionEventArgs();
240            //解析strUserAction
241            int itime = strUserAction.IndexOf("時間:");
242            int ipid = strUserAction.IndexOf("進程號:");
243            int iuser = strUserAction.IndexOf("用戶:");
244            int iip = strUserAction.IndexOf("IP:");
245
246            int iremark1 = strUserAction.IndexOf("命令:");
247            int iremark2 = strUserAction.IndexOf("返回信息:");
248            int iremark3 = strUserAction.IndexOf("提示信息:");
249            if (itime >= 0 && ipid >= 0)
250            {
251                arg.Time = strUserAction.Substring(itime, ipid - itime);
252            }

253            if (iuser >= 0)
254            {
255                arg.ProcID = strUserAction.Substring(ipid,iuser - ipid);
256            }

257            if (iip >= 0)
258            {
259                arg.UserName = strUserAction.Substring(iuser,iip - iuser);
260            }

261
262            int iremark = 0;
263            if(iremark1!=-1)
264            {
265                iremark = iremark1;
266            }

267            else if(iremark2 != -1)
268            {
269                iremark = iremark2;
270            }

271            else if(iremark3 != -1)
272            {
273                iremark = iremark3;
274            }

275            arg.IP = strUserAction.Substring(iip,iremark - iip);
276            arg.Remark = strUserAction.Substring(iremark);
277            
278             return arg;
279        }

280
281    }

282
283  
284    
285}

286
posted on 2008-11-19 09:25 天書 閱讀(2151) 評論(0)  編輯 收藏 引用

<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用鏈接

留言簿(5)

隨筆檔案

文章分類

文章檔案

好友的Bolg

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩dvd在线观看| 最新中文字幕一区二区三区| 欧美成人r级一区二区三区| 日韩视频在线观看| 亚洲国产精品成人一区二区| 国产日韩在线亚洲字幕中文| 国产欧美va欧美不卡在线| 欧美日韩美女一区二区| 欧美视频在线不卡| 欧美日韩视频一区二区三区| 国产精品夫妻自拍| 国产主播一区二区三区四区| 一区二区视频欧美| 在线视频国产日韩| 一本色道久久88精品综合| 亚洲精品日韩欧美| 欧美在线999| 亚洲一区在线看| 亚洲欧美日韩第一区| 久久综合久久综合久久| 亚洲人成免费| 欧美在线啊v| 欧美大秀在线观看| 国产精品裸体一区二区三区| 尤物网精品视频| 亚洲深夜激情| 毛片一区二区三区| 一个色综合导航| 欧美有码在线观看视频| 欧美激情精品久久久久久变态| 国产精品久久久久久久久免费| 在线观看91精品国产入口| 亚洲少妇一区| 欧美激情四色| 久久激情综合网| 欧美色图麻豆| 91久久在线播放| 欧美一区二区在线免费播放| 亚洲成人在线免费| 激情综合网激情| 亚洲影院免费观看| 欧美 日韩 国产一区二区在线视频| 一区二区激情| 欧美大片在线观看一区二区| 精久久久久久| 久久天天狠狠| 香蕉久久夜色精品| 国产精品久久久久国产a级| 99在线精品观看| 亚洲激情av在线| 模特精品在线| 亚洲国内自拍| 欧美激情亚洲激情| 另类尿喷潮videofree| 韩日欧美一区二区| 久久精品男女| 亚洲嫩草精品久久| 国产精品一区二区久久| 亚洲欧美福利一区二区| 亚洲剧情一区二区| 欧美日韩中文字幕综合视频| 一区二区欧美亚洲| 99国产成+人+综合+亚洲欧美| 欧美日韩黄色大片| 午夜免费电影一区在线观看 | 亚洲专区在线| 一区二区欧美在线| 国产精品久久久久91| 亚洲欧美日韩一区二区在线 | 亚洲欧洲视频| 欧美日韩人人澡狠狠躁视频| 亚洲午夜电影在线观看| 中文欧美日韩| 国产日韩成人精品| 男女激情视频一区| 欧美精品18+| 欧美一区二区三区在线看 | 久久偷看各类wc女厕嘘嘘偷窃| 欧美一区二区视频在线| 亚洲第一视频| 亚洲欧洲日本国产| 国产精品久久久久久久久| 欧美制服丝袜第一页| 久久免费午夜影院| 一区二区三区www| 亚洲小视频在线| 亚洲成人原创| 一区二区三区久久久| 国产亚洲精品高潮| 亚洲精品五月天| 国产亚洲欧美一区二区| 亚洲激情视频网| 国产欧美日韩亚洲精品| 欧美va亚洲va日韩∨a综合色| 欧美精品亚洲二区| 影音先锋另类| 亚洲人妖在线| 国产麻豆精品theporn| 久久免费视频一区| 欧美精品高清视频| 欧美一区二区免费视频| 麻豆成人av| 亚洲欧美另类在线| 欧美a级在线| 久久精品理论片| 欧美日韩精品一区二区| 蜜桃av一区二区| 欧美亚一区二区| 欧美+亚洲+精品+三区| 国产欧美日韩激情| 亚洲乱码国产乱码精品精98午夜 | 亚洲免费视频一区二区| 亚洲欧洲在线观看| 欧美中文字幕第一页| 亚洲伊人伊色伊影伊综合网| 欧美gay视频激情| 久久精品视频一| 国产精品另类一区| 日韩亚洲精品视频| 亚洲人成精品久久久久| 久久久国产亚洲精品| 欧美一区二区三区视频| 欧美日韩一区二区高清| 亚洲国产精品欧美一二99| 伊人久久久大香线蕉综合直播| 亚洲综合第一页| 亚洲综合视频一区| 国产精品第一区| 亚洲卡通欧美制服中文| 日韩一区二区精品在线观看| 蜜月aⅴ免费一区二区三区| 久久琪琪电影院| 精品1区2区3区4区| 久久久久亚洲综合| 蜜桃久久精品乱码一区二区| 国产综合第一页| 欧美一区二区三区四区在线| 久久久www| 激情综合网激情| 免费欧美高清视频| 亚洲精品国精品久久99热一| 99在线热播精品免费| 欧美日韩视频在线第一区| 一本到高清视频免费精品| 中文精品视频| 国产精品视频午夜| 亚洲在线中文字幕| 免费成人小视频| 免费av成人在线| 欧美视频精品一区| 亚洲另类一区二区| 亚洲男女自偷自拍| 国产喷白浆一区二区三区| 欧美有码在线观看视频| 久久综合久色欧美综合狠狠| 在线精品国产欧美| 欧美成人午夜激情视频| 99精品国产福利在线观看免费| 午夜精品免费在线| 国产一区二区| 欧美xart系列在线观看| 日韩亚洲欧美综合| 欧美一区高清| ●精品国产综合乱码久久久久| 欧美精品一区三区在线观看| 亚洲调教视频在线观看| 久久久久免费视频| 日韩一级免费观看| 国产精品亚洲第一区在线暖暖韩国| 先锋影音网一区二区| 欧美激情1区2区| 亚洲欧美在线看| 亚洲国产91| 国产精品欧美经典| 裸体丰满少妇做受久久99精品| 亚洲免费福利视频| 久久野战av| 亚洲天堂网在线观看| 激情久久综合| 国产精品国产三级国产专区53| 久久免费国产精品1| 亚洲一区在线看| 亚洲人成在线播放| 老司机精品视频一区二区三区| 亚洲一区二区精品在线| 亚洲国产精品高清久久久| 国产精品综合不卡av| 欧美 日韩 国产 一区| 亚洲午夜一区二区三区| 亚洲黄色在线视频| 久久综合五月天婷婷伊人| 亚洲欧美国产精品桃花| 一片黄亚洲嫩模| 亚洲精品视频二区| 在线日韩av永久免费观看| 国产亚洲日本欧美韩国| 国产精品免费一区二区三区观看| 欧美成年网站| 久久天堂成人| 久久精品国产免费|