ctcp調(diào)試助手源代碼_第1頁
ctcp調(diào)試助手源代碼_第2頁
ctcp調(diào)試助手源代碼_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、c#tcp調(diào)試助手源代碼以下是winformtcp調(diào)試助手源代碼,調(diào)試通過,可進(jìn)行簡單應(yīng)用usingSystem;usingusingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;using/添?加6翔的?名?稱?空?間?引程用?usingSystem.IO;usingSystem.Net;usingusingSystem.Threading;/usingSystem.Timers;namespaceTCP調(diào)獺?試?助白手?publicpartialcla

2、ssForml:Form/*服務(wù)?端?*/privateintserve_portNum=13;privateTcpListenerserve_listener=null;/服務(wù)?器+與?客i戶§機(jī)白之間?的?連?接6狀痢?態(tài)?privateboolbserve_Connected=false/服務(wù)?器+偵i聽琛線?程iprivateThreadtserve_AcceptMsg=nullnull/網(wǎng)?絡(luò)?訪?問e物基dffil?數(shù)筋據(jù)Y流i?privateNetworkStreamnStream_serve=/創(chuàng)疽?建.讀d取?器+privateTextReadertReader_s

3、erve=null/創(chuàng)疽?建.編括?寫器+privateTextWriterwReader_serve=nullprivateintClient_portNum=13;/客i戶§端?連?接oprivateTcpClientclient_client=null;/客i戶§機(jī)白與服務(wù)?器+之?間?的?連?接6狀痢?態(tài)?privateboolbclient_Connected=false;/客i戶§機(jī)白偵i聽琛線程iprivateThreadtclient_AcceptMsg=null;/網(wǎng)?絡(luò)?訪?問e物基dffil?數(shù)筋據(jù)Y流i?privateNetworkStre

4、amnStream_client=null;/創(chuàng)疽?建.讀d取?器+privateTextReadertReader_client=null;/創(chuàng)疽?建.編括?寫器+privateTextWriterwReader_client=null;/接6收?、。發(fā)25?送i數(shù)筋據(jù)Y池?長。度©privateconstintbytelength=1024;/服務(wù)?器+接6收?池?byteserve_rec_buff=newbytebytelength;newbytebytelength;true;true;true;false;false/服務(wù)?器+發(fā)25?送i池?byteserve_send

5、_buff=newbytebytelength;/客i戶§端?接6收池?byteclient_rec_buff=newbytebytelength;/客i戶§端?發(fā)25?送i池?byteclient_send_buff=publicForm1()InitializeComponent();rb_xs_zf.Checked=rb_fs_zf.Checked=rb_fwq.Checked=cb_fs_cf.Checked=btn_Qidong.Enabled=timer1.Stop();timer2.Stop();privatevoidtextBox1_TextChanged(

6、objectsender,EventArgse)privatevoidlabel2_Click(objectsender,EventArgse)privatevoidtextBox1_TextChanged_1(objectsender,EventArgse)/服務(wù)?器+啟?動(dòng)一privatevoidQidong_btn_Click(objectsender,EventArgse)serve_portNum=int.Parse(tbx_lport.Text);stringstrlocalip=cBox_localip.Text;IPAddresslocaladdr=nulllocaladdr=

7、IPAddress.Parse(strlocalip);/listener=newTcpListener(strlocalip,serve_portNum);/IPAddresslocaladdr=host.AddressList0;/stringipAddress=host.AddressList0.ToString();/tbx_Local_IP.Text=ipAddress;serve_listener=newTcpListener(localaddr,serve_portNum);lab_serve.Text="服務(wù)?器+正y在白等臺(tái)?Q."serve_listen

8、er.Start();/創(chuàng)疽?建.偵i聽琛線?程itserve_AcceptMsg=newThread(newThreadStart(this.AcceptMessage);tserve_AcceptMsg.Start();btn_Qidong.Enabled=false;/客1戶§端?連?接6服務(wù)?器+privatevoidlianjie_btn_Click(objectsender,EventArgse)(stringhostName=tbx_serveIP.Text;Client_portNum=Convert.ToInt32(tbx_sport.Text);try(clien

9、t_client=newTcpClient(hostName,Client_portNum);if(client_client.Connected)(/創(chuàng)疽?建.偵i聽琛線?程itclient_AcceptMsg=newThread(newThreadStart(this.Client_AcceptMessage);tclient_AcceptMsg.Start();btn_lianjie.Enabled=false;lab_client.Text="ok!?客i戶§機(jī)白連接6_t?服務(wù)?器+:毗"+hostName+”,?端?口白號(hào):毗”+tbx_sport.T

10、ext;catch(lab_client.Text="!?客i戶§機(jī)u沒有叛連?接6上服務(wù)?器+:毗"+hostName+”,?端?口白號(hào):毗”+tbx_sport.Text;/服務(wù)?器+發(fā)蘇?送i務(wù)符?數(shù)筋據(jù)Ypublicvoidserve_sendstr(stringstrsend)(try(/richTextBox2_KeyPress()和iAcceptMessage()/都?將?向orichTextBox1寫'字?符?,?可能u詢問e有叛沖?突?,?所d頃,?需©要癮多d線程i互¥斥2lock(this)tx_serve_rec

11、.AppendText("服務(wù)?器+:毗”+strsend+"n");/客i戶§機(jī)白聊天?信?息。寫入?網(wǎng)?絡(luò)?流i?,?以?便?服務(wù)?器+接6收?wReader_serve.WriteLine(strsend);/清?理;?當(dāng)獺?前。緩o沖?區(qū)?數(shù)筋據(jù)Y,?使?所D有緩。沖?數(shù)筋據(jù)Y寫入?基nffif?設(shè)O?備?wReader_serve.Flush();catch(MessageBox.Show("無T法?與?客1戶§機(jī)白通?信?!");/服務(wù)?器+發(fā)蘇?送i務(wù)節(jié)白數(shù)筋組哩?數(shù)筋據(jù)Ypublicvoidserve_sen

12、dhex(stringInputstring)(#region增?加6M符?處銅理?stringHexStrSplit=InputString.Split('');intlen=HexStrSplit.Length;bytearr=newbytelen;for(intii=0;ii<arr.Length;ii+)(arrii=Convert.ToByte(HexStrSplitii,16);stringstrtem=""for(intii=0;ii<arr.Length;ii+)(strtem+=String.Format("0x0:X

13、2",arrii);#endregiontryZZrichTextBox2_KeyPress()和iAcceptMessage()/都?將?向orichTextBoxI寫'字?符?,?可能u詢問e有叛沖?突?,?所d頃,?需©要癮多d線程i互¥斥2lock(this)(tx_serve_rec.AppendText("服務(wù)?器+:毗”+strtem+"n");/客i戶§機(jī)白聊天?信?息。寫入?網(wǎng)?絡(luò)?流i?,?以?便?服務(wù)?器+接6收?nStream_serve.Write(arr,0,arr.Length);/清?

14、理;?當(dāng)獺?前。緩o沖?區(qū)?數(shù)筋據(jù)Y,?使?所D有緩。沖?數(shù)筋據(jù)Y寫入?基Ciffif?設(shè)O?備?/nStream_serve.Flush();catchMessageBox.Show("無T法?與?客1戶§機(jī)白通?信?!");/服務(wù)?器+發(fā)蘇?送i數(shù)筋據(jù)Yprivatevoidbutton1_Click(objectsender,EventArgse)(if(bserve_Connected)(if(cb_fs_cf.Checked=true)(timer1.Stop();timer1.Interval=Convert.ToInt32(tbx_fs_time.T

15、ext);timer1.Start();else(timer1.Stop();if(rb_fs_zf.Checked=true)(serve_sendstr(tx_serve_send.Text);elseif(rb_fs_hex.Checked=true)(serve_sendhex(tx_serve_send.Text);else(MessageBox.Show("未與?客i戶§機(jī)白建.立i?連?接6,?不?能。通?信?。£”);/定.時(shí)???發(fā)蘇?送1privatevoidontime(objectsender,EventArgse)(if(cb_fs_cf.

16、Checked=true)(if(rb_fs_zf.Checked=true)(serve_sendstr(tx_serve_send.Text);elseif(rb_fs_hex.Checked=true)(serve_sendhex(tx_serve_send.Text);elsetimer1.Stop();privatevoidSave_SheZhi_btn_Click(objectsender,EventArgse)(/退?出?/關(guān)?閉?窗疽?體?時(shí)???斷?開a連?接6?并。終?止1線?程i(輟?否?則0,?VS調(diào)獺?試?程i序。將仍?處銅于?運(yùn)?行D狀???態(tài)?)???privatev

17、oidbutton2_Click(objectsender,EventArgse)(try(serve_listener.Stop();tserve_AcceptMsg.Abort();catch(Close();privatevoidrb_fwq_CheckedChanged(objectsender,EventArgse)(privatevoidrb_khd_CheckedChanged(objectsender,EventArgse)(privatevoidForm1_Load(objectsender,EventArgse)(privatevoidcomboBox1_SelectedI

18、ndexChanged(objectsender,EventArgse)/掃A?描©本?機(jī)uIPprivatevoidbtn_localip_Click(objectsender,EventArgse)(StringhostName=Dns.GetHostName();IPHostEntryhost;host=Dns.GetHostEntry(hostName);stringsrttemp;/IPAddresslocaladdr=null;foreach(IPAddressipinhost.AddressList)(srttemp=ip.ToString();if(srttemp.S

19、tartsWith("192.168.”)(/tbx_Local_IP.Text=srttemp;/localaddr=ip;cBox_localip.Text=srttemp;btn_Qidong.Enabled=true;處銅理元揣ab或dext字?符?串?文?字?顯?示?的?委一托狒,publicdelegatevoidLabTextDelgate(stringstrtext);/服務(wù)?器+處銅理元揣ab文?字?顯?示?的?委托狒調(diào)獺?用?函數(shù)筋publicvoidwstr_lab(stringstrtext)lab_serve.Text=strtext;/服務(wù)?器+處銅理元?

20、服務(wù)?器+接6收?文?字?顯?示?的?委托狒調(diào)獺?用?函數(shù)筋publicvoidwstr_txt(stringstrtext)/lab_serve.Text=strtext;tx_serve_rec.AppendText("客i戶§機(jī)白:毗'+strtext+"n");客i戶§機(jī)白處銅理元揣ab文?字?顯?示?的?委一托狒調(diào)獺?用?函數(shù)筋publicvoidwstr_lab_client(stringstrtext)lab_client.Text=strtext;客i戶§機(jī)白處銅理?服務(wù)?器+接6收?文?字?顯?示?的?委托狒

21、調(diào)獺?用?函數(shù)筋publicvoidwstr_txt_client(stringstrtext)/lab_serve.Text=strtext;tx_client_rec.AppendText("服務(wù)?器+:毗”+strtext+"n");/處銅理元律ext字?節(jié)白數(shù)筋組哩?文?字?顯際?的?委托狒,publicdelegatevoidbyteTextDelgate(byteshowbyte);/處銅理元?服務(wù)?器+接6收?字?節(jié)白數(shù)筋組哩?文?字?顯?示?的?委托狒調(diào)獺?用?函數(shù)筋publicvoidwstr_hex(byteshowbyte)/lab_serv

22、e.Text=strtext;stringstrtem=""/foreach(bytebteminshowbyte)/strtem+=string.Format("0x0,x2,btem");/for(inti=0;i<showbyte.Length;i+)if(showbytei=0)break;elsestrtem+=string.Format("0x(0,2:X"showbytei);tx_serve_rec.AppendText("客i戶§機(jī)白:毗'+strtem+"n")

23、;/處銅理元?客i戶§機(jī)白接6收字?節(jié)白數(shù)筋組哩?文?字?顯?示?的?委托狒調(diào)獺?用?函數(shù)筋publicvoidwstr_hex_client(byteshowbyte)(/lab_serve.Text=strtext;stringstrtem=""/foreach(bytebteminshowbyte)/(/strtem+=string.Format("0x(0,x2,btem");/strtem+=string.Format("0x(0,2:X,btem");/if(btem=0)/break;/for(inti=0;i

24、<showbyte.Length;i+)(if(showbytei=0)break;elsestrtem+=string.Format("0x0,2:X”showbytei);tx_client_rec.AppendText("服務(wù)?器+:毗”+strtem+"n");/服務(wù)?器+偵i聽琛并。顯?示?信?息。publicvoidAcceptMessage()接6受酣?客i戶§機(jī)u昨連?接6請(qǐng)?求6TcpClientclient=serve_listener.AcceptTcpClient();if(client!=null)(bserve

25、_Connected=true;/this.lab_serve.Text="與?客i戶§”+client.ToString()+"成e功建.立i?連?接6。£"stringstrtem="與?客i戶§"+client.ToString()+"成e功|建.立i?連?接6。£"/lab_serve.LabTextDelgatewritelab=newLabTextDelgate(wstr_lab);this.Invoke(writelab,strtem);nStream_serve=cli

26、ent.GetStream();/nStream_serve.Read(/讀d字?節(jié)白流i?tReader_serve=newStreamReader(nStream_serve);/tReader_serve.re/寫'字?節(jié)白流i?wReader_serve=newStreamWriter(nStream_serve);stringsTemp;/臨頓?時(shí)?。看??儲(chǔ)疽?讀d購的?字?符?串?while(bserve_Connected)if(rb_xs_zf.Checked=true)try/nStream_serve=client.GetStream();/讀&淳?節(jié)白流i

27、?/tReader_serve=newStreamReader(nStream_serve);/連?續(xù)?從洙?當(dāng)獺?前。流i?中D讀&購字?符?串?直土至&結(jié)&柬sTemp=tReader_serve.ReadLine();if(sTemp.Length!=0)ZZrichTextBox2_KeyPress()和iAcceptMessage()/都?將?向crichTextBoxI寫'字?符?,?可e能u諭問e有沖?突?,?/所d隊(duì),?需©要癮多d線程i互¥斥2lock(this)(/tx_serve_rec.Text="客i戶&#

28、167;機(jī)白:毗”+sTemp+"n"+tx_serve_rec.Text;/this.tx_serve_rec.Invoke(newMethodInvoker(/delegate(this.tx_serve_rec.AppendText("客i戶§機(jī)白:毗'+sTemp+"n");/);LabTextDelgatewritelab=newLabTextDelgate(wstr_txt);this.Invoke(writelab,sTemp);catch(tserve_AcceptMsg.Abort();MessageBox.

29、Show("無T法?與?客i戶§機(jī)白通?信?。£");elseif(rb_xs_hex.Checked=true)/讀d取?16進(jìn)?制?數(shù)筋據(jù)Y并。顯?示?(try(/nStream_serve=client.GetStream();/讀&淳?節(jié)白流i?/tReader_serve=newStreamReader(nStream_serve);/連?續(xù)?從洙?當(dāng)獺?前。流i?中符?串?直土至&結(jié)&柬/byteserve_rec_buff=newbytebytelength;/sTemp=nStream_serve.Read(ser

30、ve_rec_buff,0,bytelength);nStream_serve.Read(serve_rec_buff,0,serve_rec_buff.Length);if(serve_rec_buff.Length!=0)/richTextBox2_KeyPress()和iAcceptMessage()/都?將?向crichTextBox1寫'字?符?,?可e能u諭問e有沖?突?,?/所d隊(duì),?需©要癮多d線程i互¥斥2lock(this)/tx_serve_rec.Text="客i戶§機(jī)白:毗”+sTemp+"n"+tx

31、_serve_rec.Text;/this.tx_serve_rec.Invoke(newMethodInvoker(/delegate(this.tx_serve_rec.AppendText("客i戶§機(jī)白:毗'+sTemp+"n");/);byteTextDelgatewritelab=newbyteTextDelgate(wstr_hex);this.Invoke(writelab,serve_rec_buff);catch(tserve_AcceptMsg.Abort();MessageBox.Show("無T法?與?客i戶&

32、#167;機(jī)白通?信?。£");nStream_serve=client.GetStream();MessageBox.Show("服務(wù)?器+偵i聽琛與?顯?示?線?程i退?出?");/禁?止1當(dāng)獺?前。的?發(fā)25?送i與?接6收client.Close();serve_listener.Stop();客i戶§端?偵i聽琛并。顯?示?信?息。publicvoidClient_AcceptMessage()bclient_Connected=true;/綁悒?定.客i戶§機(jī)白的?連?接6流i?nStream_client=client_

33、client.GetStream();/讀&淳?節(jié)白流i?tReader_client=newStreamReader(nStream_client);/tReader_serve.re/寫'字?節(jié)白流i?wReader_client=newStreamWriter(nStream_client);stringsTemp;/臨頓?時(shí)???存?儲(chǔ)疽?讀d®?的?字?符?串?while(bclient_Connected)if(rb_xs_zf.Checked=true)try讀d字?節(jié)白流i?/連?續(xù)?從洙?當(dāng)獺?前。流i?中D讀字?符?串?直土至&結(jié)&柬

34、sTemp=tReader_client.ReadLine();if(sTemp.Length!=0)/需©要癮多d線程i互¥斥2lock(this)(LabTextDelgatewritelab=newLabTextDelgate(wstr_txt_client);this.Invoke(writelab,sTemp);catch(tserve_AcceptMsg.Abort();MessageBox.Show("無T法?與?服務(wù)?器+通?信?。£”);elseif(rb_xs_hex.Checked=true)/讀d取?16進(jìn)?制?數(shù)筋據(jù)Y并。顯?示

35、?try(intreadnum=0;lock(this)(Array.Clear(client_rec_buff,0,client_rec_buff.Length);readnum=nStream_client.Read(client_rec_buff,0,client_rec_buff.Length);if(readnum!=0)(/需©要癮多d線程i互¥斥2lock(this)(byteTextDelgatewritelab=newbyteTextDelgate(wstr_hex_client);this.Invoke(writelab,client_rec_buff)

36、;catch(tserve_AcceptMsg.Abort();MessageBox.Show("無T法?與?服務(wù)?器+通?信?。£”);nStream_client=client_client.GetStream();MessageBox.Show("客i戶§機(jī)白偵i聽琛與顯?示?線?程iif?出?");/禁?止1當(dāng)獺?前。的?發(fā)25?送i與?接6收client_client.Close();客i戶§端?發(fā)蘇?送i數(shù)筋據(jù)Yprivatevoidbtn_client_send_Click(objectsender,EventArgse

37、)if(bclient_Connected)if(cb_fs_cf.Checked=true)timer2.Stop();timer2.Interval=Convert.ToInt32(tbx_fs_time.Text);timer2.Start();elsetimer2.Stop();if(rb_fs_zf.Checked=true)(client_sendstr(tx_client_send.Text);elseif(rb_fs_hex.Checked=true)(client_sendhex(tx_client_send.Text);else(MessageBox.Show("未與?服務(wù)?器+建立i?連?接6,?不?能。通?信?。£”);/客i戶§機(jī)白弱續(xù)?發(fā)25?送iprivatevoidontime2(objectsender,EventArgse)(if(cb_fs_cf.Checked=true)(if(rb_fs_zf.Checked=true)(client_sendstr(tx_client_send.Text);elseif(rb_fs_hex.Checked=true)(client_sendhex(tx_client_s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論