c#tcp調(diào)試助手源代碼_第1頁
c#tcp調(diào)試助手源代碼_第2頁
c#tcp調(diào)試助手源代碼_第3頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c# tcp調(diào)試助手源代碼以下是winform tcp調(diào)試助手源代碼,調(diào)試通過,可進行簡單應(yīng)用 using System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;/添 ?加6新?的?名?稱?空?間?引皔用?using System.10;using System.Net;using System.Threading;/us ing System.Timers;namespaceTCP 調(diào)獺?試?助。手?public partial

2、 class Form1 : Form/* 月服務(wù)?端 ?*/private int serve_portNum=13 ;private TcpListener serve_listener =null ;/服 務(wù)?器+與?客丨戶§機。之間?的?連?接6狀痢?態(tài)?private bool bserve_Connected =false ;/服務(wù)?器+偵聽瑈線?程private Thread tserve_AcceptMsg = null ;/網(wǎng)?絡(luò)?訪?問e的?基n礎(chǔ)?數(shù)簓據(jù)丫流i ?private NetworkStream nStream_serve =null ;/創(chuàng)?。拷ㄗx0

3、取?器+private TextReader tReader_serve =null ;/創(chuàng)???建編括?寫器+private TextWriter wReader_serve = null ;/* 客戶 §端?*/private int Client_portNum = 13;/客丨戶§端?連?接6private TcpClient client_client =null ;II客丨戶§機。與服 務(wù)?器+之?間?的?連?接6狀痢?態(tài)?private bool bclie nt_Conn ected = falseII客丨戶§機。偵聽瑈線程1private

4、 Thread tclient_AcceptMsg =null ;網(wǎng)?絡(luò)?訪?問e的?基n礎(chǔ)?數(shù)簓據(jù)丫流i ?private Networkstream nStream_client=null ;/創(chuàng)洹?建讀0取?器+privateTextReader tReader_client =null ;/創(chuàng)???建編括?寫器+privateTextWriter wReader_client =null ;/接6收?、C發(fā)厲?送丨數(shù)簓據(jù)丫池?長O度0private const int bytelength = 1024;/服務(wù)?器+接6收?池?byte serve_rec_buff = new byte

5、 bytelength;/服務(wù)?器+發(fā)厲?送丨池?byte serve_send_buff = new byte bytelength;/客丨戶§端?接6收?池?byte client_rec_buff = new byte bytelength;/客丨戶§端?發(fā)厲?送丨池?byte client_send_buff = new byte bytelength;public Form1()In itializeComp onen t(); rb_xs_zf.Checked =true ;rb_fs_zf.Checked =true ;rb_fwq.Checked =true

6、 ;cb_fs_cf.Checked =false;btn _Qido ng.E nabled =falsetimer1.Stop();timer2.Stop();private void textBox1_TextChanged( object sender, EventArgs e)private void label2_Click( object sender, EventArgs e)private void textBox1_TextChanged_1( object sender,EventArgs e)/服務(wù)?器+啟?動private void Qidong_btn_Click(

7、object sender.EventArgs e)serve_portNum =int .Parse(tbx_lport.Text);stri ng strlocalip = cBox_localip.Text;IPAddress localaddr =null ;localaddr = IPAddress.Parse(strlocalip);/liste ner = new TcpListe ner(strlocalip, serve_portNum);/IPAddress localaddr = host.AddressListO;/stri ng ipAddress = host.Ad

8、dressListO.ToStri ng();tbx_Local_IP.Text = ipAddress;serve_liste ner =new TcpListe ner(localaddr, serve_portNum);lab_serve.Text ="服 務(wù)?器+正y在d等臺?待鋣連?接6."serve_liste ner.Start();/創(chuàng)???建偵聽瑈線?程tserve_AcceptMsg =new Thread (new Threadstart (this .AcceptMessage);tserve_AcceptMsg.Start();btn_Qidong.

9、Enabled =false ;/客丨戶§端?連?接6服務(wù)?器+private void lianjie_btn_Click(object sender,EventArgs e)stri ng hostName = tbx_serveIP.Text;Clie nt_portNum =Con vert .ToI nt32(tbx_sport.Text);tryclie nt_clie nt =n ewTcpClie nt(hostName, Clie nt_portNum);if (client_client.Connected)/創(chuàng)???建偵聽瑈線?程tclient_AcceptMsg

10、 =new Thread (newThreadStart (this .Client_AcceptMessage);tclie nt_AcceptMsg.Start();btn_lianjie.Enabled =false ;+ hostNamelab_client.Text= "ok ! ?客丨戶§機。連接 6 上?服 務(wù)?器十:阰"+ " , ?端 ?口。號?:阰"+ tbx_sport.Text;catchlab_client.Text= " ! ?客丨戶§機。沒有瓺連?接6上?服 務(wù)?器十:阰"+ host

11、Name+ " , ?端 ?口。號?:阰"+ tbx_sport.Text;/服務(wù)?器+發(fā)厲?送丨字?符?數(shù)簓據(jù)丫public void serve_sendstr(string strsend)tryrichTextBox2_KeyPress()和 iAcceptMessage()/都?將?向crichTextBox1 寫字?符?, ?可0能u訪問e有瓺沖?突?,?/所u 以?, ?需0要癮多0線程互Y斥alock ( this )tx_serve_rec.AppendText("服 務(wù)?器:阰"+ strsend +"n");/客

12、丨戶§機。聊天 ?信?息寫入?網(wǎng)?絡(luò)?流i ?, ?以?便?服 務(wù)?器+接6 收?wReader_serve.WriteLi ne(strse nd);/清?理元?當(dāng)獺?前°緩o沖?區(qū)?數(shù)簓據(jù)丫,?使?所。有瓺緩o沖?數(shù)簓據(jù)丫寫 入?基u礎(chǔ)?設(shè)E?備?wReader_serve.Flush();catchMessageBox.Show("無 T法厲?與?客丨戶§機。通?信?!");/服 務(wù)?器+發(fā)厲?送丨字?節(jié)。數(shù)簓組哩?數(shù)簓據(jù)丫public void serve_sendhex( string InputString)#region增?加6

13、字?符?處鋦理元?string HexStrSplit = InputString.Split('');int len = HexStrSplit.Length;byte arr = new byte len;for ( int ii = 0; ii < arr.Length; ii+)arrii =Con vert .ToByte(HexStrSplitii, 16);string strtem =""for ( int ii = 0; ii < arr.Length; ii+)strtem+=String .Format( " 0x

14、0:X2 ", arrii);#en dregi ontryrichTextBox2_KeyPress()和 iAcceptMessage()/都?將?向crichTextBox1 寫字?符?, ?可0能u訪問e有瓺沖?突?,?/所u 以?, ?需0要癮多0線程互Y斥alock ( this ) tx_serve_rec.AppendText("服 務(wù)?器:阰"+ strtem +"n");/客丨戶§機。聊天 ?信?息寫入?網(wǎng)?絡(luò)?流i ?, ?以?便?服務(wù)?器+接6收?n Stream_serve.Write(arr,O,arr.L

15、e ngth);/清?理元?當(dāng)獺?前°緩o沖?區(qū)?數(shù)簓據(jù)丫,?使?所。有瓺緩o沖?數(shù)簓據(jù)丫寫 入?基u礎(chǔ)?設(shè)E?備?n Stream_serve.Flush();catchMessageBox.Show("無 T法厲?與?客丨戶§機。通?信?!");/服務(wù)?器+發(fā)厲?送丨數(shù)簓據(jù)丫private void butt on 1_Click(object sen der, Eve ntArgs e)if (bserve_Connected)if (cb_fs_cf.Checked = true )timer1.Stop();timerl.Interval =C

16、onvert .ToInt32(tbx_fs_time.Text);timer1.Start();elsetimer1.Stop();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("未與?客丨戶§機。建立i?連?接6,?不?能口通?信?。£“);/定時骸?發(fā)厲?送丨private void ontime

17、( 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);elsetimer1.Stop();private void Save_SheZhi_btn_Click( object sender,EventArgs e)/退?岀?/關(guān)?閉?窗洹?體 ?時?。繑??開a連?接6

18、,?并C終?止 1線?程1(輟?否?則o, ?VS調(diào)獺?試?程序。將仍?處鋦于?運?行。狀痢?態(tài)?) ? ? ?private void butt on 2_Click(object sen der. Eve ntArgs e)tryserve_liste ner.Stop();tserve_AcceptMsg.Abort();catch Close();private void rb_fwq_CheckedChanged( object sender, EventArgsprivate void rb_khd_CheckedChanged( object sender, EventArgsp

19、rivate void Form1_Load( object sender,EventArgs e)private void comboBox1_SelectedIndexChanged( object sender,/掃A ?描0本?機uIPprivate void btn_localip_Click(object sender,EventArgs e)Str ing hostName = Dn s.GetHostName();IPHostE ntry host;host = Dn s.GetHostE ntry(hostName);e)e)EventArgs e)stri ng srtte

20、mp;/IPAddress localaddr = null;cBox_localip .I tems.Clear();foreach (IPAddress ip in host.AddressList)srttemp = ip.ToStr in g();cBox_localip .I tems.Add(srttemp);if (srttemp.StartsWith( "192.168.")tbx_Local_IP.Text = srttemp;/localaddr = ip;cBox_localip.Text = srttemp;btn_Qidong.Enabled =t

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

22、x_serve_rec.AppendText("客丨戶§ 機 d:阰"+ strtext +"n");/客丨戶§機。處鋦理元猯ab文?字?顯?示?的?委-托狣調(diào)獺?用?函-數(shù)簓public void wstr_lab_client(string strtext)lab_clie nt.Text = strtext;/客丨戶§機0處鋦理N?服 務(wù)?器+接6 收?文 ?字?顯?示?的?委-托狣調(diào)獺?用?函-數(shù)簓 public void wstr_txt_client(string strtext)/lab_serve.Text

23、= strtext;tx_client_rec.AppendText("服 務(wù)?器十:阰"+ strtext +"n");/處鋦理N猼ext字?節(jié)。數(shù)簓組哩?文?字?顯?示?的?委-托狣,public delegate void byteTextDelgate( byte showbyte);/處鋦理元?服 務(wù)?器+接6收?字?節(jié)。數(shù)簓組哩?文?字?顯?示?的?委-托狣調(diào)獺?用?函一 數(shù)簓public void wstr_hex( byte showbyte)/lab_serve.Text = strtext;string strtem="&q

24、uot;foreach(byte btem 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.AppendText("客丨戶§ 機 d:阰"+ strtem +"n");/處鋦理元?客丨戶

25、7;機。接6收字?節(jié)。數(shù)簓組哩?文?字?顯?示?的?委-托狣調(diào)獺?用?函-數(shù) 簓public void wstr_hex_client(byte showbyte)/lab_serve.Text = strtext;string 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 (

26、int i = 0; i < showbyte.Length; i+)if (showbytei = 0)break;elsestrtem +=string .Format( " 0x0,2:X", showbytei);tx_client_rec.AppendText("服 務(wù)?器十:阰"+ strtem+ "n");/服務(wù)?器+偵1聽瑈并C顯?示?信?息Cpublic void AcceptMessage()/接6受酣?客丨戶§機0的連?接6請?求6TcpClie nt clie nt = serve_liste

27、ner.AcceptTcpCIie nt();if (client !=null )bserve_Connected =true ;與?客丨戶§ " + clie nt.ToStri ng() + "成e功建立i ?連?接6o£"string strtem ="與?客丨戶§ " + client.ToString() +"成e功建立 i ?連?接 6o£"/lab_serve.LabTextDelgate writelab =new LabTextDelgate(wstr_lab);t

28、hisnvoke(writelab, strtem);n Stream_serve = clie nt.GetStream();n Stream_serve.Read(/讀0字?節(jié)。流i?tReader_serve =new StreamReader(nStream_serve);tReader_serve.re/寫字?節(jié)。流i?wReader_serve =new StreamWriter (nStream_serve);string sTemp; /臨詭?時骸?存?儲洹?讀a取?的?字?符?串?while (bserve_Connected)if (rb_xs_zf.Checked= tr

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

30、互Y斥alock ( this )tx_serve_rec.Text ="客丨戶§機阰"+ sTemp + "n" +tx_serve_rec.Text;/ this.tx_serve_rec .In voke( new MethodI nvoker(客丨戶§ 機 d:阰匕"+ sTemp + "n" ); /);LabTextDelgate writelab =n ewLabTextDelgate(wstr_txt);thisnvoke(writelab, sTemp);catchtserve_Acce

31、ptMsg.Abort();MessageBox.Show("無 T法厲?與?客丨戶§ 機。通?信?。£ ");else if (rb_xs_hex.Checked= true )/ 讀 a 取?16 進?制 ?數(shù)簓據(jù) Y并 C 顯?示?tryn Stream_serve = clie nt.GetStream();/讀a字?節(jié)。流i?tReader_serve = new StreamReader( nStream_serve);/連?續(xù)?從洙?當(dāng)獺?前°流:?中D讀a取?字?符?串?直士至a結(jié)a束byte serve_rec_buff =

32、new bytebytele ngth;/sTemp = n Stream_serve.Read(serve_rec_buff,0,bytele ngth);n Stream_serve.Read(serve_rec_buff,0,serve_rec_buff.Le ngth);if (serve_rec_buff.Length != 0)richTextBox2_KeyPress()和 iAcceptMessage()/都?將?向drichTextBox1寫字?符?, ?可e能u訪問e有瓺沖?突?, ?/所u 以?, ?需0要癮多a線程互Y斥alock ( this )tx_serve_re

33、c.Text ="客丨戶§機阰"+ sTemp + "n" +tx_serve_rec.Text;/this.tx_serve_rec .In voke( new Methodi nvoker(客丨戶§ 機 d:阰匕"+ sTemp + "n" ); );byteTextDelgate writelab =n ewbyteTextDelgate(wstr_hex);thisnvoke(writelab, serve_rec_buff);catchtserve_AcceptMsg.Abort();Messa

34、geBox.Show("無T法厲?與?客丨戶§機。通?信?。£ ");n Stream_serve = clie nt.GetStream();MessageBox.Show("服 務(wù)?器+偵聽瑈與?顯?示?線?程退?岀?");/禁?止1當(dāng)獺?前°的?發(fā)厲?送與?接6收?clie nt.Close();serve_liste ner.Stop();/客丨戶§端?偵聽瑈并C顯?示?信?息C/20160605 接 6收?hex 字?符?不 ?穩(wěn)0定public void Client_AcceptMessage()bc

35、lient_Connected =true ;/綁悒?定客丨戶§機。的?連?接6流i?n Stream_clie nt = clie nt_clie nt.GetStream();/讀0字?節(jié)。流i?tReader_client =new StreamReader(nStream_client);/tReader_serve.re/寫字?節(jié)。流i?wReader_client =new StreamWriter (nStream_client);string sTemp; /臨詭?時?。看??儲洹?讀a取?的?字?符?串?while (bclient_Connected)if (rb_

36、xs_zf.Checked = true )try/讀0字?節(jié)。流i ?/連?續(xù)?從洙?當(dāng)獺?前°流:?中D讀0取?字?符?串?直士至0結(jié)0束sTemp = tReader_clie nt.ReadL in e();if (sTemp.Length != 0)/需o要癮多a線程互Y斥alock ( this )LabTextDelgate writelab =newLabTextDelgate(wstr_txt_clie nt);thisnvoke(writelab, sTemp);catchtserve_AcceptMsg.Abort();MessageBox.Show("

37、;無 T法厲?與?服 務(wù)?器 + 通?信?。£ ");else if (rb_xs_hex.Checked = true ) / 讀 0 取?16 進?制?數(shù)簓據(jù) Y并 C 顯?示?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 (readnum != 0)/需o要癮多a線?程互Y斥a

38、lock ( this )byteTextDelgate writelab =newbyteTextDelgate(wstr_hex_clie nt);thisnvoke(writelab, client_rec_buff);catchtserve_AcceptMsg.Abort();MessageBox.Show("無 T法笳?與?服 務(wù)?器 + 通?信?。£ ");n Stream_clie nt = clie nt_clie nt.GetStream();MessageBox.Show("客丨戶§機。偵聽瑈與顯?示?線?程退?岀?&quo

39、t;);/禁?止1當(dāng)獺?前°的?發(fā)厲?送與?接6收?clie nt_clie nt.Close();/客丨戶§端?發(fā)厲?送丨數(shù)簓據(jù)丫private void btn_client_send_Click(object sender,EventArgs e)if (bclient_Connected)if (cb_fs_cf.Checked = true )timer2.Stop();timer2.lnterval =Convert .ToInt32(tbx_fs_time.Text);timer2.Start();elsetimer2.Stop();if (rb_fs_zf.

40、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 ?連?接6, ?不?能口通?信?。£");/客丨戶§機。違續(xù)?發(fā)厲?送丨private void ontime2( object sender,EventArgs e)if (cb_fs_cf.Checked = true )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_cl

溫馨提示

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

評論

0/150

提交評論