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

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年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(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>
            久久久一区二区| 欧美三级日本三级少妇99| 欧美69视频| 久久久精品免费视频| 亚洲欧美日韩中文在线制服| 一级日韩一区在线观看| 99视频+国产日韩欧美| 亚洲人在线视频| 暖暖成人免费视频| 欧美国产精品人人做人人爱| 欧美成人国产va精品日本一级| **网站欧美大片在线观看| 国产综合视频在线观看| 国内视频一区| 亚洲国产天堂久久国产91| 又紧又大又爽精品一区二区| 亚洲欧洲日本mm| 亚洲视频1区| 性做久久久久久免费观看欧美| 午夜精品久久久久久久白皮肤| 欧美亚洲视频一区二区| 久久久久国产成人精品亚洲午夜| 六月婷婷久久| 欧美日韩精品不卡| 国产欧美日韩不卡免费| 伊人久久大香线蕉综合热线| 亚洲精品一级| 久久久999成人| 亚洲精选91| 久久精品国产99国产精品澳门 | 亚洲欧美日韩一区在线| 久久久xxx| 国产精品久久久久毛片大屁完整版| 国内揄拍国内精品少妇国语| 日韩视频精品在线观看| 久久久91精品| 亚洲精品偷拍| 久久天天躁夜夜躁狠狠躁2022 | 国产精品―色哟哟| 亚洲电影免费在线| 午夜在线观看欧美| 亚洲韩日在线| 欧美在线一二三| 欧美日韩另类字幕中文| 在线免费观看欧美| 欧美与欧洲交xxxx免费观看| 91久久午夜| 久久久亚洲一区| 国产亚洲精品久久久久婷婷瑜伽| 正在播放欧美视频| 欧美激情在线狂野欧美精品| 亚洲欧美激情视频在线观看一区二区三区| 欧美激情第一页xxx| 欧美在线亚洲| 国产亚洲精品7777| 亚洲欧美日韩成人| 99精品欧美一区二区蜜桃免费| 麻豆精品精品国产自在97香蕉| 国产日韩欧美日韩大片| 宅男噜噜噜66一区二区 | 亚洲欧美在线播放| 欧美日韩精品综合| 亚洲国产精品国自产拍av秋霞| 久久久久成人网| 亚洲在线第一页| 国产精品久在线观看| 亚洲神马久久| 亚洲素人一区二区| 国产精品久久久久久久久久久久 | 日韩小视频在线观看专区| 免费久久久一本精品久久区| 欧美一区激情| 国产亚洲成精品久久| 欧美一区二区三区播放老司机| 日韩午夜av电影| 欧美午夜宅男影院| 香蕉久久国产| 久久高清福利视频| 亚洲国产日韩欧美| 亚洲激情社区| 欧美网站在线观看| 欧美一区激情| 久久综合久久久| 亚洲激情国产| 99精品福利视频| 国产乱码精品1区2区3区| 久久全国免费视频| 免费精品视频| 日韩一区二区免费高清| 一区二区动漫| 激情综合久久| 亚洲欧洲日本国产| 国产精品青草综合久久久久99| 欧美在线免费视屏| 久久蜜桃香蕉精品一区二区三区| 亚洲免费观看高清完整版在线观看| 日韩网站在线观看| 韩国一区二区三区在线观看| 亚洲高清123| 国产精品一卡| 亚洲高清一二三区| 国产精品视频xxx| 免费av成人在线| 欧美日韩在线免费视频| 久久精品人人爽| 欧美高潮视频| 午夜在线成人av| 欧美成人免费在线视频| 午夜亚洲性色视频| 欧美成人午夜| 久久精品亚洲乱码伦伦中文| 欧美极品aⅴ影院| 久久女同精品一区二区| 国产精品高清免费在线观看| 免费成人在线视频网站| 国产精品久在线观看| 欧美高清在线精品一区| 国产裸体写真av一区二区| 欧美成人四级电影| 国产日本欧美一区二区三区| 亚洲精品久久7777| 在线不卡中文字幕| 亚洲欧美另类在线| 亚洲午夜羞羞片| 美女日韩在线中文字幕| 欧美在线关看| 欧美日韩在线影院| 亚洲韩国精品一区| 国产农村妇女精品一区二区| 欧美性猛交99久久久久99按摩| 亚洲一区二区三区欧美| 久久精品国产免费观看| 99国产精品久久| 免费不卡在线视频| 久久久久99精品国产片| 国产精品久久夜| 一区二区国产日产| 亚洲毛片在线观看| 欧美国产第一页| 亚洲国产电影| 亚洲经典一区| 欧美成人亚洲成人| 亚洲第一福利在线观看| 亚洲国产精品久久久久秋霞影院 | 亚洲小少妇裸体bbw| 99国产精品| 欧美日韩国产一区二区三区地区| 激情一区二区三区| 久久夜色精品国产亚洲aⅴ| 另类尿喷潮videofree| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一区二区三区喷汁尤物| 欧美一区二区黄| 国产日韩欧美在线| 久久激情视频久久| 另类春色校园亚洲| 亚洲精品无人区| 欧美日韩高清在线一区| 日韩午夜免费视频| 亚洲欧美日本国产专区一区| 国产精品一区二区在线| 欧美中文字幕第一页| 欧美a级一区| 99视频热这里只有精品免费| 欧美天堂亚洲电影院在线播放| 亚洲影音一区| 免费欧美日韩| 99精品久久久| 国产美女精品| 欧美xx视频| 亚洲综合国产精品| 欧美二区在线| 亚洲欧美亚洲| 亚洲国产综合91精品麻豆| 欧美日韩国产欧| 久久av资源网| 亚洲理伦在线| 久久久久久9999| 在线视频日韩| 在线不卡中文字幕| 国产精品久久网| 欧美激情精品久久久久久久变态| 亚洲直播在线一区| 亚洲国产mv| 久久久福利视频| 亚洲四色影视在线观看| 一区二区亚洲欧洲国产日韩| 欧美日韩视频| 老司机午夜精品| 欧美一区二区免费| 亚洲视频二区| 亚洲欧洲一区二区在线播放| 久久久噜噜噜| 久久国产色av| 亚洲欧美日韩国产成人精品影院| 最新国产成人av网站网址麻豆| 国产真实久久| 国产日本欧美在线观看| 国产精品日日摸夜夜添夜夜av | 国产一级久久|