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

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>
            亚洲人成人一区二区三区| 国产亚洲精品aa| 欧美日韩一区二区三区视频| 影音先锋另类| 亚洲制服av| 久久免费高清视频| 国产日本欧美一区二区三区在线| 亚洲精选中文字幕| 亚洲激情在线视频| 欧美日本亚洲视频| 亚洲黄页视频免费观看| 免费在线成人av| 国产精品99久久久久久久久久久久| 欧美.日韩.国产.一区.二区| 亚洲欧美日韩精品久久久久| 香蕉乱码成人久久天堂爱免费| 欧美视频导航| 亚洲午夜久久久久久久久电影院| 亚洲一区二区三区高清| 欧美日韩一区二| 亚欧成人精品| 欧美成人亚洲| 久久久久久久综合日本| 久久精品一本| 久久不射网站| 国产欧美日韩视频一区二区三区 | 国产精品视频一区二区三区 | 日韩一级片网址| 欧美日韩一区二| 黄色精品网站| 亚洲国产精品va在线看黑人动漫 | 亚洲视频高清| 新片速递亚洲合集欧美合集| 在线视频亚洲| 亚洲国产欧洲综合997久久| 在线欧美日韩精品| 久久黄金**| 久久噜噜亚洲综合| 亚洲伦理在线观看| 国产精品一区二区三区四区五区| 亚洲大片免费看| 亚洲精品日韩在线| 国产精品扒开腿爽爽爽视频| 在线观看欧美亚洲| 亚洲一区二区三区四区中文 | 欧美一区二区三区在线观看视频 | 99爱精品视频| 欧美美女喷水视频| 亚洲欧洲另类国产综合| 亚洲午夜免费视频| 亚洲午夜精品久久久久久app| 国产一区二区三区在线观看视频 | 欧美激情一二三区| 亚洲麻豆一区| 卡一卡二国产精品| 亚洲一区二区三| 欧美不卡高清| 亚洲第一视频| 亚洲精品久久久久久久久久久久| 亚洲欧美成人一区二区在线电影| 亚洲国产成人精品视频| 欧美激情a∨在线视频播放| 欧美在线一级视频| 久久精品国语| 国产亚洲在线| 亚洲免费观看高清完整版在线观看| 亚洲精品在线观| 亚洲精品自在在线观看| 日韩视频欧美视频| 亚洲永久免费精品| 麻豆精品一区二区综合av| 国内伊人久久久久久网站视频| 影音先锋另类| 国产日韩欧美在线视频观看| 国产欧美一区二区三区另类精品| 国模私拍一区二区三区| 国产欧美一区二区三区国产幕精品| 亚洲国产三级| 国产精品99久久久久久久女警| 91久久久久久久久| 香港久久久电影| 欧美粗暴jizz性欧美20| 亚洲视频福利| 国产精品高潮视频| 亚洲国产欧美在线| 美女爽到呻吟久久久久| 欧美黄网免费在线观看| 亚洲区一区二区三区| 亚洲精品一区在线观看| 欧美极品影院| 欧美三级网址| 亚洲午夜久久久久久久久电影网| 美女亚洲精品| 亚洲欧美在线高清| 欧美fxxxxxx另类| 亚洲淫性视频| 女人香蕉久久**毛片精品| 亚洲欧美日韩爽爽影院| 免费亚洲一区| 亚洲免费播放| 久久色在线播放| 国产日韩欧美综合| 欧美在线视频网站| 亚洲高清视频一区| 在线一区亚洲| 欧美一区二区三区另类| 在线观看亚洲a| 欧美激情一区二区在线| 麻豆精品视频在线观看| 欧美色图天堂网| 夜色激情一区二区| 性做久久久久久免费观看欧美| 在线观看成人一级片| 亚洲免费网址| 亚洲毛片网站| 牛牛精品成人免费视频| 亚洲影院在线| 一本色道久久99精品综合| 国产日产欧美精品| 亚洲视频精选| 91久久国产综合久久91精品网站 | 欧美成人日本| 99精品国产在热久久婷婷| 午夜精品久久| 亚洲欧美日韩在线观看a三区 | 亚洲视频一区| 黄色精品在线看| 久久婷婷国产麻豆91天堂| 老司机午夜精品视频| 欧美风情在线观看| 亚洲伊人久久综合| 欧美片在线播放| 国产精品久久久一区麻豆最新章节 | 欧美日韩在线观看一区二区| 久久久7777| 亚洲国产第一页| 国产日韩欧美麻豆| 午夜一区二区三区不卡视频| 久久久999国产| 亚洲精品欧美精品| 久久av一区二区三区| 一区二区亚洲精品国产| 久久精品视频在线看| 欧美国产三区| 亚洲黄色片网站| 欧美88av| 亚洲综合色丁香婷婷六月图片| 日韩一级黄色av| 欧美日韩岛国| 亚洲乱码久久| 久久精视频免费在线久久完整在线看 | 狠狠综合久久av一区二区小说| 亚洲一区图片| 亚洲综合色噜噜狠狠| 国产欧美日韩一区| 免费欧美电影| 亚洲精品影院| 久久综合中文| 欧美三级乱码| 国产精品视频免费观看| 亚洲欧美日韩在线观看a三区 | 亚洲精品裸体| 欧美国产日韩二区| 亚洲品质自拍| 欧美黄色免费| 久久精品国产免费| 亚洲国产一区二区三区a毛片 | 欧美久久久久久蜜桃| 亚洲欧美日韩精品久久久| 香蕉久久a毛片| 亚洲图片在线| 久久久久久一区二区| 国产精品亚洲激情| 一区在线影院| 亚洲男女自偷自拍图片另类| 暖暖成人免费视频| 亚洲国产成人久久综合| 欧美国产成人精品| 欧美国产日韩亚洲一区| 亚洲激情欧美| 亚洲网址在线| 一区二区三区我不卡| 欧美一区二区三区免费视频| 这里只有精品视频在线| 一区二区三区高清| 午夜精品视频| 亚洲电影一级黄| 亚洲永久免费视频| 欧美福利网址| 蜜桃伊人久久| 国产欧美激情| 亚洲欧美日本国产有色| 亚洲成人直播| 亚洲国产天堂久久综合| 亚洲欧美在线aaa| 国产精品免费福利| 亚洲精选视频在线| 久久在线观看视频| 亚洲第一色在线| 亚洲永久免费视频|