


版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程項(xiàng)目合同管理八步走
- 產(chǎn)品使用說明功能操作與維護(hù)指南
- 外墻涂料施工合同書
- Unit1生活中的日常用語:初一英語日常會(huì)話教學(xué)教案
- 2025年大慶c1貨運(yùn)上崗證模擬考試
- 2025年唐山貨運(yùn)上崗證考試題庫答案
- 委托抵押擔(dān)保協(xié)議
- 數(shù)據(jù)安全與隱私保護(hù)作業(yè)指導(dǎo)書
- 合同房地產(chǎn)轉(zhuǎn)讓合同5篇
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第2章 階段重點(diǎn)突破練(四)
- 銀行承兌匯票和商業(yè)承兌匯票課件
- 特朗普貿(mào)易戰(zhàn)的基本邏輯、本質(zhì)及其應(yīng)對(duì)
- 經(jīng)口鼻吸痰法護(hù)理課件
- 《園林生態(tài)學(xué)》課件
- 初中化學(xué)實(shí)驗(yàn)報(bào)告單(上)
- 貨物質(zhì)量與安全控制方案
- 高中物理多普勒效應(yīng)練習(xí)題
- 交通事故授權(quán)委托書樣本(通用)
- 鹽酸利多卡因應(yīng)用于無痛導(dǎo)尿術(shù)的臨床效果觀察
- 保障性住房資格申請(qǐng)表
- PEP五年級(jí)上冊(cè)Unit3-字母組合ow的發(fā)音
評(píng)論
0/150
提交評(píng)論