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

下載本文檔

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

文檔簡(jiǎn)介

1、c# tcp調(diào)試助手源代碼以下是winform tcp調(diào)試助手源代碼,調(diào)試通過,可進(jìn)行簡(jiǎn)單應(yīng)用usi ngSystem;usi ngusi ngSystem.Co mponen tModel;usi ngSystem.Data;usi ngSystem.Drawi ng;usi ngSystem.Li nq;usi ngSystem.Text;usi ng/添?加6新?的?名?稱?空?間?引皔用?usi ngSystem.IO;usi ngSystem.Net;usi ngusi ngSystem.Thread ing;/us ing System.Timers;names paceTCP 調(diào)

2、獺?試?助u手?p ublic p artialclass Form1 : Form/*月服務(wù)?端 ?*/privateint serve_portNum=13 ;null ;p rivate Tcp Liste ner serve_liste ner =/服 務(wù)?器-與?客戶§機(jī)u之間?的?連?接6狀痢?態(tài)?Privatebool bserve_Connected = false ;/服務(wù)?器+偵i聽瑈線?程Private Thread tserve_AcceptMsg = null ;/網(wǎng)?絡(luò)?訪?問e的?基U礎(chǔ)?數(shù)簓據(jù)Y流i ?P rivate Networkstream n

3、Stream_servenull ;/創(chuàng)???建讀a取?器一p rivateTextReader tReader_serve =null ;/創(chuàng)???建編括?寫器+privateTextWriter wReader_serve =null ;/* 客1戶 § 端?*/Privateint Client_portNum = 13;/客戶§端?連?接6p rivate Tcp Clie nt clie nt_clie nt =null ;/客戶§機(jī)u與服 務(wù)?器-之?間?的?連?接o狀痢?態(tài)?privatebool bclient_Connected = false ;/

4、客戶§機(jī)u偵i聽瑈線程iprivateThread tclient_AcceptMsg =null ;/網(wǎng)?絡(luò)?訪?問e的?基U礎(chǔ)?數(shù)簓據(jù)Y流i ?P rivate NetworkStream n Stream_clie nt=null ;/創(chuàng)洹?建讀a取?器+p rivate TextReader tReader_clie nt =null ;/創(chuàng)洹?建編括?寫器+private TextWriter wReader_client =null ;/接o收?、0發(fā)?送數(shù)簓據(jù)丫池?長(zhǎng)O度0Privateconst int bytelength = 1024;/服務(wù)?器-接o收?池?by

5、te serve_rec_buff = new byte bytelength;/服務(wù)?器+發(fā)?送甘池?byte serve_send_buff = new byte bytelength;/客戶§端?接6收?池?byte client_rec_buff = new byte bytelength;/客戶§端?發(fā)fe ?送門池?byte client_send_buff = new byte bytelength;public Form1()In itializeCo mponen t();rb xs zf.Checked =true ;rb fs zf.Checked =

6、true ;rb_fwq.Checked =true ;cb fs cf.Checked =false ;btn _Qido ng.E nabled =false ;timer1.St op();timer2.St op();privatevoidtextBox1_TextChanged( object sender, EventArgs e)privatevoidlabel2_Click( object sender,EventArgs e)privatevoidtextBox1_TextChanged_1( object sender,EventArgs e)Clie nt_p ortNu

7、m =Convert .Tolnt32(tbx_sport.Text);/服務(wù)?器-啟?動(dòng)Privatevoid Qidong_btn_Click( object sender.EventArgs e)serve_ po rtNum =int .Parse(tbx_lport.Text);stri ng strlocali p = cBox_locali p.Text;IP Address localaddr =null ;localaddr = IPAddress .P arse(strlocali p);/liste ner = new Tcp Liste ner(strlocali p,

8、 serve_ portNum);/IPAddress localaddr = host.AddressListO;/stri ng ipAddress = host.AddressList0.ToStri ng();/tbx_Local_I P.Text = ipAddress;serve listener =new Tcp Liste ner(localaddr, serve_ po rtNum);lab serve.Text ="服務(wù)?器+正y在u等臺(tái)?待鋣連?接0."serve_liste ner.Start();/創(chuàng)???建偵i聽瑈線?程itserve_Acce p

9、tMsg =new Thread (new Threadstart (this .AcceptMessage);tserve_Acce ptMsg.Start();btn _Qido ng.E nabled =false ;/客戶§端?連?接6服務(wù)?器十privatevoid lianjie_btn_Click(object sender,EventArgs e)stri ng hostName = tbx_serve IP .Text;tryclient client =n ewTc pClie nt(hostName, Clie nt_p ortNum);if (client_c

10、lient.Connected)/創(chuàng)???建偵i聽瑈線?程itclie nt_Acce ptMsg = new Thread (newThreadStart (this .Client_AcceptMessage);tclie nt_Acce ptMsg.Start();btn _lia njie.E nabled =false ;lab client.Text="ok ! ?客戶§機(jī)u連?接o上?服 務(wù)?器十:阰"+ hostName+ " , ?端 ?口 u 號(hào)?:阰"+ tbx_sport.Text;catchlab client.Text

11、="! ?客戶§機(jī)U沒有瓺連?接6上?服 務(wù)?器r 阰"+ hostName+ " , ?端 ?口 u 號(hào)?:阰"+ tbx_sport.Text;/服務(wù)?器+發(fā)?送字?符?數(shù)簓據(jù)丫public void serve_sendstr(string strsend)try/richTextBox2_KeyPressO和 lAcceptMessageO /都?將?向EchTextBoxI 寫字?符?, ?可6能u訪問e有瓺沖?突?,?/所U 以?,?需6要癮多a線程1互Y斥a lock ( this )tx_serve_rec.A ppen dTe

12、xt("服 務(wù)?器一:阰"+ strsend +"n");/客戶§機(jī)u聊天?信?息0寫入?網(wǎng)?絡(luò)?流i ?, ?以?便?服務(wù)?器-接6wReader_serve.WriteLi ne(strse nd);/清?理K?當(dāng)獺?前°緩O沖?區(qū)?數(shù)簓據(jù)丫,?使?所0有瓺緩O沖?數(shù)簓據(jù)丫寫'入?基U礎(chǔ)?設(shè)?備?wReader_serve.Flush();catchMessageBox.Show("無T法?與?客戶§機(jī)u通?信?!");/服務(wù)?器+發(fā)?送字?節(jié)u數(shù)簓組哩?數(shù)簓據(jù)丫P ublicvoid ser

13、ve_sendhex( string InputString)#regi on增?加6 字?符 ?處鋦理K ?'');string HexStrSplit = InputString.Split( int len = HexStrSplit.Length;byte arr = new byte len;for ( int ii = 0; ii < arr.Length; ii+)arrii=Convert .ToByte(HexStrSplitii, 16);stri ng strtem =""for ( int ii = 0; ii < arr

14、.Length; ii+)strtem+=String .Format( " 0x0:X2 ", arrii);#en dregi ontry/richTextBox2_KeyPressO和 lAcceptMessageO/都?將?向crichTextBox1 寫字?符?, ?可6能u訪問e有瓺沖?突?,?/所U 以?,?需6要癮多a線程1互Y斥alock ( this )tx_serve_rec.A ppen dText("服 務(wù)?器一:阰"+ strtem +"n");/客戶§機(jī)u聊天?信?息0寫入?網(wǎng)?絡(luò)?流i ?,

15、?以?便?服務(wù)?器-接6n Stream_serve.Write(arr,0,arr.Le ngth);/清?理K?當(dāng)獺?前°緩o沖?區(qū)?數(shù)簓據(jù)丫,?使?所0有瓺緩o沖?數(shù)簓據(jù)丫寫'入?基U礎(chǔ)?設(shè)?備?/n Stream_serve.Flush();catchMessageBox.Show("無T法?與?客戶§機(jī)u通?信?!");/服務(wù)?器+發(fā)?送數(shù)簓據(jù)丫P rivatevoid butt on 1_Click(object sen der,Eve ntArgs e)if (bserve_Connected)if (cb_fs_cf.Checke

16、d = true )timer1.St op();timer1. In terval =Convert .ToInt32(tbx_fs_time.Text);timer1.Start();elsetimer1.St op();if (rb_fs_zf.Checked = true )serve_se ndstr(tx_serve_se nd.Text);else if (rb_fs_hex.Checked = true )serve_se ndhex(tx_serve_se nd.Text);elseMessageBox.Show("未與?客戶§機(jī)u建立i?連?接o,不孑能

17、'通?信?。£ ");/定時(shí)???發(fā) ?送Privatevoid ontime( object sender,EventArgs e)if (cb_fs_cf.Checked = true )if (rb_fs_zf.Checked = true )serve_se ndstr(tx_serve_se nd.Text);else if (rb_fs_hex.Checked = true )serve_se ndhex(tx_serve_se nd.Text);elsetimerl.St op();private void Save_SheZhi_btn_Click(

18、object sender, EventArgs e)/退?岀?/關(guān)?閉?窗洹?體 ?時(shí)?。繑??開a連?接0,?并0終?止 1線?程1(輟?否?則6,?VS調(diào)獺?試?程1序6將仍?處鋦于 ?運(yùn)?行D狀痢?態(tài)?) ?P rivatevoid butt on 2_Click(object sen der,EventArgs e)tryserve_liste ner.St opO;tserve_Acce ptMsg.Abort();catchClose();privatevoid rb_fwq_CheckedChanged( objectsender,EventArgs e)privatevoid

19、rb_khd_CheckedChanged( objectsender,EventArgs e)btn _Qido ng.E nabled =true ;private void Form1_Load( object sender, EventArgs e) private void comboBox1_SelectedIndexChanged( object sender, EventArgs e)/掃A ?描e本?機(jī)"IP private void btn_localip_Click( object sender, EventArgs e)String hostName = Dn

20、s.GetHostName();IPHostEntry host;host = Dns.GetHostEntry(hostName);string srttemp;/IPAddress localaddr = null;foreach (IPAddress ip in host.AddressList)srttemp = ip.ToString();if (srttemp.StartsWith("192.168." )/tbx_Local_IP.Text = srttemp;/localaddr = ip;cBox_localip.Text = srttemp;/處鋦理K猯

21、ab或dtext字?符?串?文?字?顯?示?的?委-托狣,Public delegate void LabTextDelgate( string strtext);/服務(wù)?器+處鋦理K猯ab文?字 ?顯?示?的?委-托狣調(diào)獺?用?函-數(shù)簓Public void wstr_lab(stri ngstrtext)lab_serve.Text = strtext;/服務(wù)?器+處鋦理K?服務(wù)?器+接o收?文?字?顯?示?的?委-托狣調(diào)獺?用 ?函-數(shù)簓Public void wstr_txt(stri ngstrtext)/lab_serve.Text = strtext;tx_serve_rec.A

22、 ppen dText("客戶§機(jī) u:阰 + strtext +"n");/客戶§機(jī)u處鋦理K猯ab文?字?顯?示?的?委-托狣調(diào)獺?用?函-數(shù)簓public void wstr_lab_client(string strtext)lab_clie nt.Text = strtext;/客戶§機(jī)u處鋦理K?服務(wù)?器+接o收?文?字?顯?示?的?委-托狣調(diào)獺?用?函-數(shù)簓Public void wstr_txt_client(stri ng strtext)/lab_serve.Text = strtext;tx_clie nt_re

23、c.A ppen dText("服 務(wù)?器一:阰"+ strtext +"n");/處鋦理K猼ext字?節(jié)u數(shù)簓組哩?文?字?顯?示?的?委-托狣,Public delegate void byteTextDelgate( byte showbyte);/處鋦理K ?服務(wù)?器+接0收?字?節(jié)u數(shù)簓組哩?文?字?顯?示?的?委-托狣調(diào)獺?用?函一數(shù)簓Public void wstr_hex( byte showbyte)/lab_serve.Text = strtext;stri ng strtem=""/foreach(byte bt

24、em in showbyte)/strtem+=stri ng.Format(" 0x0,x2,btem");/for(int i = 0; i < showbyte.Length; i+)if (showbytei = 0)break;elsestrtem +=string .Format( " 0x0,2:X", showbytei);tx_serve_rec.A ppen dText("客戶§機(jī) u:阰 + strtem +"n");/處鋦理K ?客戶§機(jī)u接0收字?節(jié)0數(shù)簓組哩?文?字?顯?

25、示?的?委-托狣調(diào)獺?用?函-數(shù)public void wstr_hex_client(byte showbyte)/lab_serve.Text = strtext;stri ng strtem =""/foreach (byte btem in showbyte)/strtem += stri ng.Format(" 0x0,x2,btem");strtem += stri ng.Format("0x0,2:X,btem");/if (btem = 0)/break;/ for(int i = 0; i < showbyte

26、.Length; i+)if (showbytei = 0)break;elsestrtem +=string .Format(“ 0x0,2:X", showbytei);tx_clie nt_rec.A ppen dText("服務(wù)?器r 阰"+ strtem+ "n");/服務(wù)?器r偵i聽瑈并0顯?示?信?息0P ublicvoid AcceptMessageO/接6受酣?客戶§機(jī)u的連?接6請(qǐng)?求6Tcp Clie nt clie nt = serve_liste ner.Acce ptTc pClie nt();if (cl

27、ient != null )bserve_Connected =true ;/this.lab_serve.Text = "與?客戶§ " + die nt.ToStri ng() + "成e功建立i ?連?接6。£:string strtem ="與?客戶§ " + client.ToString() +"成e功建立i ?連?接6。£"/lab_serve.LabTextDelgate writelab =new LabTextDelgate(wstr_lab);this .Invo

28、ke(writelab, strtem);nStream_serve = client.GetStream();/nStream_serve.Read(/讀a字?節(jié)U流i?tReader_serve =new StreamReader(nStream_serve);/tReader_serve.re/寫字?節(jié)U流i?wReader_serve =new StreamWriter (nStream_serve);stringsTemp; /臨M ?時(shí)骸?存??jī)?chǔ)洹?讀a取?的?字?符?串?while(bserve_Connected)if(rb_xs_zf.Checked= true )try/n

29、Stream_serve = client.GetStream();/讀a字?節(jié)U流i?/tReader_serve = new StreamReader(nStream_serve);/連?續(xù)?從洙?當(dāng)獺?前°流i ?中D讀a取?字?符?串?直士至a結(jié)a束sTe mp = tReader_serve.ReadL in e();if (sTemp.Length != 0)/richTextBox2_KeyPress。和 lAcceptMessageO /都?將?向drichTextBox1寫字?符?, ?可e能u訪問e有瓺沖?突?, ?/所U以?,?需6要癮多a線程1互Y斥alock

30、 ( this )/tx_serve_rec.Text =" 客戶§機(jī) u:阰 + sTe mp + "n" +tx_serve_rec.Text;/this.tx_serve_rec .In voke( new MethodI nvoker(/delegate this.tx_serve_rec.AppendText("客戶§機(jī)u:阰"+ sTe mp + "n" ); /);LabTextDelgate writelab =n ewLabTextDelgate(wstr_txt);catchthis

31、.Invoke(writelab, sTemp);tserve_Acce ptMsg.AbortO;MessageBox.Show("無T法?與?客戶§機(jī)u通?信?。£ ");else if (rb_xs_hex.Checked= true)/ 讀 a取?16 進(jìn)?制 ?數(shù)簓據(jù) Y 并0顯?示?try/nStream_serve = client.GetStream();/讀a字?節(jié)U流i?/tReader_serve = new StreamReader(nStream_serve);/連?續(xù)?從洙?當(dāng)獺?前°流i ?中D讀a取?字?符?串?

32、直士至a結(jié)a束 /byte serve_rec_buff = new bytebytelength;/sTemp = nStream_serve.Read(serve_rec_buff,0,bytelength);nStream_serve.Read(serve_rec_buff,0,serve_rec_buff.Length);if (serve_rec_buff.Length != 0)/richTextBox2_KeyPress()和 lAcceptMessageO /都?將?向drichTextBox1寫字?符?, ?可e能u訪問e有瓺沖?突?, ?/所U以?,?需6要癮多a線程1互Y

33、斥alock ( this )/tx_serve_rec.Text =" 客戶§機(jī) u:阰 + sTe mp + "n" +tx_serve_rec.Text;/ this.tx_serve_rec.Invoke(new MethodInvoker(/delegate this.tx_serve_rec.AppendText("客戶§機(jī)u:阰" + sTemp + "n" ); /);byteTextDelgate writelab =new byteTextDelgate(wstr_hex);this

34、.Invoke(writelab, serve_rec_buff);catchtserve_Acce ptMsg.AbortO;MessageBox.Show("無T法?與?客戶§機(jī)u通?信?。£ “);n Stream_serve = clie nt.GetStream();MessageBox.Show("服務(wù)?器+偵i聽瑈與?顯?示?線?程1退?岀?");/禁?止1當(dāng)獺?前°的?發(fā)?送i與?接0收?clie nt.Close();serve_liste ner.St op();/客戶§端?偵i聽瑈并0顯?示?信?息0P

35、ublic void Client_AcceptMessage()bclient Connected =true ;/綁悒?定客戶§機(jī)u的?連?接6流i?n Stream_clie nt = clie nt_clie nt.GetStream();/讀a字?節(jié)u流i?tReader client =new StreamReader(nStream_client);/tReader serve.rewReader_client =/寫字?節(jié)u流i?new StreamWriter (nStream_client);String sTemp; /臨m ?時(shí)?。看妫?jī)?chǔ)???讀a取?的?字?符

36、?串? while (bclient_Connected)if (rb_xs_zf.Checked = true )try/讀a字?節(jié)u流i?/連?續(xù)?從洙?當(dāng)獺?前°流i ?中D讀a取字?符?串?直士至a結(jié)a束sTemp = tReader_client.ReadLine();if (sTemp.Length != 0)/需e要癮多a線程1互Y斥a lock ( this )newLabTextDelgate writelab =LabTextDelgate(wstr_txt_client);this .Invoke(writelab, sTemp);catch tserve_Ac

37、ce ptMsg.AbortO;MessageBox.Show("無T法鬲?與?服務(wù)?器一通?信?。£ “);else if (rb_xs_hex.Checked = true ) / 讀 a 取?16 進(jìn)?制?數(shù)簓據(jù) Y并 0 顯?示?tryint read num = 0;lock ( this )Array .Clear(client_rec_buff, 0, client_rec_buff.Length);readnum = n Stream_clie nt.Read(clie nt_rec_buff, 0,clie nt_rec_buff.Le ngth);if

38、(readnum != 0)/需e要癮多a線?程1互Y斥alock ( this )newbyteTextDelgate writelab =byteTextDelgate(wstr_hex_clie nt);this .Invoke(writelab, client_rec_buff);catchtserve_Acce ptMsg.AbortO;MessageBox.Show("無T法鬲?與?服務(wù)?器一通?信?。£ “);n Stream_clie nt = clie nt_clie nt.GetStream();MessageBox.Show("客戶§

39、;機(jī)U偵i聽瑈與顯?示?線?程i退?岀?");/禁?止1當(dāng)獺?前°的?發(fā)?送i與?接0收?clie nt_clie nt.Close();/客戶§端?發(fā)fe ?送數(shù)簓據(jù)Yprivatevoid btn_client_send_Click(object sender,EventArgs e)if (bclient_Connected)if (cb_fs_cf.Checked = true )timer2.St op();timer2 .In terval =Con vert .ToI nt32(tbx_fs_time.Text);timer2.Start();els

40、etimer2.St op();if (rb_fs_zf.Checked = true )clie nt_se ndstr(tx_clie nt_se nd.Text);else if (rb_fs_hex.Checked = true )clie nt_se ndhex(tx_clie nt_se nd.Text);elseMessageBox.Show("未與?服務(wù)?器-建立i ?連?接0,?不孑能'通?信?。£");/客戶§機(jī)u違續(xù)?發(fā)fe ?送EventArgs e)Privatevoid ontime2( object sender,if (cb_fs_cf.Checked = true )if (rb_fs_zf.Checked = trueclie nt_se ndstr(tx_clie nt_se nd.Text);else if (rb_fs_hex.Checked = true )cl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論