c# tcp调试助手源代码.docx
- 文档编号:30582652
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:25
- 大小:20.85KB
c# tcp调试助手源代码.docx
《c# tcp调试助手源代码.docx》由会员分享,可在线阅读,更多相关《c# tcp调试助手源代码.docx(25页珍藏版)》请在冰豆网上搜索。
c#tcp调试助手源代码
c#tcp调试助手源代码
以下是winformtcp调试助手源代码,调试通过,可进行简单应用
usingSystem;
using
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
using
//添?
加ó新?
的?
名?
称?
空?
间?
引皔用?
usingSystem.IO;
usingSystem.Net;
using
usingSystem.Threading;
//usingSystem.Timers;
namespaceTCP调獭?
试?
助ú手?
{
publicpartialclassForm1:
Form
{
/*****服务?
端?
*******/
privateintserve_portNum=13;
privateTcpListenerserve_listener=null;
//服务?
器÷与?
客í户§机ú之?
间?
的?
连?
接ó状痢?
态?
privateboolbserve_Connected=false;
//服务?
器÷侦ì听瑈线?
程ì
privateThreadtserve_AcceptMsg=null;
//网?
络?
访?
问ê的?
基ù础?
数簓据Y流ⅰ?
privateNetworkStreamnStream_serve=null;
//创洹?
建¨读á取?
器÷
privateTextReadertReader_serve=null;
//创洹?
建¨编括?
写′器÷
privateTextWriterwReader_serve=null;
/*****客í户§端?
*******/
privateintClient_portNum=13;
//客í户§端?
连?
接ó
privateTcpClientclient_client=null;
//客í户§机ú与?
服务?
器÷之?
间?
的?
连?
接ó状痢?
态?
privateboolbclient_Connected=false;
//客í户§机ú侦ì听瑈线?
程ì
privateThreadtclient_AcceptMsg=null;
//网?
络?
访?
问ê的?
基ù础?
数簓据Y流ⅰ?
privateNetworkStreamnStream_client=null;
//创洹?
建¨读á取?
器÷
privateTextReadertReader_client=null;
//创洹?
建¨编括?
写′器÷
privateTextWriterwReader_client=null;
//接ó收?
、¢发ぁ?
送í数簓据Y池?
长¤度è
privateconstintbytelength=1024;
//服务?
器÷接ó收?
池?
byte[]serve_rec_buff=newbyte[bytelength];
//服务?
器÷发ぁ?
送í池?
byte[]serve_send_buff=newbyte[bytelength];
//客í户§端?
接ó收?
池?
byte[]client_rec_buff=newbyte[bytelength];
//客í户§端?
发ぁ?
送í池?
byte[]client_send_buff=newbyte[bytelength];
publicForm1()
{
InitializeComponent();
rb_xs_zf.Checked=true;
rb_fs_zf.Checked=true;
rb_fwq.Checked=true;
cb_fs_cf.Checked=false;
btn_Qidong.Enabled=false;
timer1.Stop();
timer2.Stop();
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidlabel2_Click(objectsender,EventArgse)
{
}
privatevoidtextBox1_TextChanged_1(objectsender,EventArgse)
{
}
//服务?
器÷启?
动ˉ
privatevoidQidong_btn_Click(objectsender,EventArgse)
{
serve_portNum=int.Parse(tbx_lport.Text);
stringstrlocalip=cBox_localip.Text;
IPAddresslocaladdr=null;
localaddr=IPAddress.Parse(strlocalip);
//listener=newTcpListener(strlocalip,serve_portNum);
//IPAddresslocaladdr=host.AddressList[0];
//stringipAddress=host.AddressList[0].ToString();
//tbx_Local_IP.Text=ipAddress;
serve_listener=newTcpListener(localaddr,serve_portNum);
lab_serve.Text="服务?
器÷正y在ú等台?
待鋣连?
接ó....";
serve_listener.Start();
//创洹?
建¨侦ì听瑈线?
程ì
tserve_AcceptMsg=newThread(newThreadStart(this.AcceptMessage));
tserve_AcceptMsg.Start();
btn_Qidong.Enabled=false;
}
//客í户§端?
连?
接ó服务?
器÷
privatevoidlianjie_btn_Click(objectsender,EventArgse)
{
stringhostName=tbx_serveIP.Text;
Client_portNum=Convert.ToInt32(tbx_sport.Text);
try
{
client_client=newTcpClient(hostName,Client_portNum);
if(client_client.Connected)
{
//创洹?
建¨侦ì听瑈线?
程ì
tclient_AcceptMsg=newThread(newThreadStart(this.Client_AcceptMessage));
tclient_AcceptMsg.Start();
btn_lianjie.Enabled=false;
lab_client.Text="ok!
?
客í户§机ú连?
接ó上?
服务?
器÷:
阰"+hostName+",?
端?
口ú号?
:
阰"+tbx_sport.Text;
}
}
catch
{
lab_client.Text="!
?
客í户§机ú没?
有瓺连?
接ó上?
服务?
器÷:
阰"+hostName+",?
端?
口ú号?
:
阰"+tbx_sport.Text;
}
}
//服务?
器÷发ぁ?
送í字?
符?
数簓据Y
publicvoidserve_sendstr(stringstrsend)
{
try
{
//richTextBox2_KeyPress()和íAcceptMessage()
//都?
将?
向òrichTextBox1写′字?
符?
,?
可é能ü访?
问ê有瓺冲?
突?
,?
//所ù以?
,?
需è要瘾多à线?
程ì互¥斥a
lock(this)
{
tx_serve_rec.AppendText("服务?
器÷:
阰"+strsend+"\n");
//客í户§机ú聊?
天?
信?
息¢写′入?
网?
络?
流ⅰ?
,?
以?
便?
服务?
器÷接ó收?
wReader_serve.WriteLine(strsend);
//清?
理え?
当獭?
前°缓o冲?
区?
数簓据Y,?
使?
所ù有瓺缓o冲?
数簓据Y写′入?
基ù础?
设Θ?
备?
wReader_serve.Flush();
}
}
catch
{
MessageBox.Show("无T法ぁ?
与?
客í户§机ú通?
信?
!
");
}
}
//服务?
器÷发ぁ?
送í字?
节ú数簓组哩?
数簓据Y
publicvoidserve_sendhex(stringInputString)
{
#region增?
加ó字?
符?
处锔理え?
string[]HexStrSplit=InputString.Split('');
intlen=HexStrSplit.Length;
byte[]arr=newbyte[len];
for(intii=0;ii { arr[ii]=Convert.ToByte(HexStrSplit[ii],16); } stringstrtem=""; for(intii=0;ii { strtem+=String.Format("0x{0: X2}",arr[ii]); } #endregion try { //richTextBox2_KeyPress()和íAcceptMessage() //都? 将? 向òrichTextBox1写′字? 符? ,? 可é能ü访? 问ê有瓺冲? 突? ,? //所ù以? ,? 需è要瘾多à线? 程ì互¥斥a lock(this) { tx_serve_rec.AppendText("服务? 器÷: 阰"+strtem+"\n"); //客í户§机ú聊? 天? 信? 息¢写′入? 网? 络? 流ⅰ? ,? 以? 便? 服务? 器÷接ó收? nStream_serve.Write(arr,0,arr.Length); //清? 理え? 当獭? 前°缓o冲? 区? 数簓据Y,? 使? 所ù有瓺缓o冲? 数簓据Y写′入? 基ù础? 设Θ? 备? //nStream_serve.Flush(); } } catch { MessageBox.Show("无T法ぁ? 与? 客í户§机ú通? 信? ! "); } } //服务? 器÷发ぁ? 送í数簓据Y privatevoidbutton1_Click(objectsender,EventArgse) { if(bserve_Connected) { if(cb_fs_cf.Checked==true) { timer1.Stop(); timer1.Interval=Convert.ToInt32(tbx_fs_time.Text); 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("未′与? 客í户§机ú建¨立ⅰ? 连? 接ó,? 不? 能ü通? 信? 。 £"); } } //定¨时骸? 发ぁ? 送í privatevoidontime(objectsender,EventArgse) { if(cb_fs_cf.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); } } else { timer1.Stop(); } } privatevoidSave_SheZhi_btn_Click(objectsender,EventArgse) { } //退? 出? //关? 闭? 窗洹? 体? 时骸? 断? 开a连? 接ó,? 并¢终? 止1线? 程ì(辍? 否? 则ò,? VS调獭? 试? 程ì序ò将? 仍? 处锔于? 运? 行D状痢? 态? )? ? ? privatevoidbutton2_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_SelectedIndexChanged(objectsender,EventArgse) { } //扫Α? 描è本? 机úIP privatevoidbtn_localip_Click(objectsender,EventArgse) { StringhostName=Dns.GetHostName(); IPHostEntryhost; host=Dns.GetHostEntry(hostName); stringsrttemp; //IPAddresslocaladdr=null; foreach(IPAddressipinhost.AddressList) { srttemp=ip.ToString(); if(srttemp.StartsWith("192.168.")) { //tbx_Local_IP.Text=srttemp; //localaddr=ip; cBox_localip.Text=srttemp; } } btn_Qidong.Enabled=true; } //处锔理え猯ab或òtext字? 符? 串? 文? 字? 显? 示? 的? 委ˉ托狣, publicdelegatevoidLabTextDelgate(stringstrtext); //服务? 器÷处锔理え猯ab文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_lab(stringstrtext) { lab_serve.Text=strtext; } //服务? 器÷处锔理え? 服务? 器÷接ó收? 文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_txt(stringstrtext) { //lab_serve.Text=strtext; tx_serve_rec.AppendText("客í户§机ú: 阰"+strtext+"\n"); } //客í户§机ú处锔理え猯ab文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_lab_client(stringstrtext) { lab_client.Text=strtext; } //客í户§机ú处锔理え? 服务? 器÷接ó收? 文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_txt_client(stringstrtext) { //lab_serve.Text=strtext; tx_client_rec.AppendText("服务? 器÷: 阰"+strtext+"\n"); } //处锔理え猼ext字? 节ú数簓组哩? 文? 字? 显? 示? 的? 委ˉ托狣, publicdelegatevoidbyteTextDelgate(byte[]showbyte); //处锔理え? 服务? 器÷接ó收? 字? 节ú数簓组哩? 文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_hex(byte[]showbyte) { //lab_serve.Text=strtext; stringstrtem=""; //foreach(bytebteminshowbyte) //{ //strtem+=string.Format("0x{0,x2},btem"); //} for(inti=0;i { if(showbyte[i]==0) break; else strtem+=string.Format("0x{0,2: X}",showbyte[i]); } tx_serve_rec.AppendText("客í户§机ú: 阰"+strtem+"\n"); } //处锔理え? 客í户§机ú接ó收? 字? 节ú数簓组哩? 文? 字? 显? 示? 的? 委ˉ托狣调獭? 用? 函ˉ数簓 publicvoidwstr_hex_client(byte[]showbyte) { //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 { if(showbyte[i]==0) break; else strtem+=string.Format("0x{0,2: X}",showbyte[i]); } tx_client_rec.AppendText("服务? 器÷: 阰"+strtem+"\n"); } //服务? 器÷侦ì听瑈并¢显? 示? 信? 息¢ publicvoidAcceptMessage() { //接ó受酣? 客í户§机ú的? 连? 接ó请? 求ó TcpClientclient=serve_listener.AcceptTcpClient(); if(client! =null) { bserve_Connected=true; //this.lab_serve.Text="与? 客í户§"+client.ToString()+"成é功|建¨立ⅰ? 连? 接ó。 £"; stringstrtem="与? 客í户§"+client.ToString()+"成é功|建¨立ⅰ? 连? 接ó。 £"; //lab_serve. LabTextDelgatewritelab=newLabTextDelgate(wstr_lab); this.Invoke(writelab,strtem); } nStream_serve=client.GetStream(); //nStream_serve.Read( //读á字? 节ú流ⅰ? tReader_serve=newStreamReader(nStream_serve); //tReader_serve.re //写′字? 节ú流ⅰ? wReader_serve=newStreamWriter(nStream_serve); stringsTemp;//临ⅷ? 时骸? 存? 储洹? 读á取? 的? 字? 符? 串? while(bserve_Connected) { if(rb_xs_zf.Checked==true) { try { //nStream_serve=client.GetStream(); //读á字? 节ú流ⅰ? //tReader_serve=newStreamReader(nStream_serve); //连? 续? 从洙? 当獭? 前°流ⅰ? 中D读á取? 字? 符? 串? 直±至á结á束? sTemp=tReader_serve.ReadLine(); if(sTemp.Length! =0) { //richTextBox2_KeyPress()和íAcceptMessage() //都? 将? 向òrichTextBox1写′字? 符? ,? 可é能ü访? 问ê有瓺冲? 突? ,? //所ù以? ,? 需è要瘾多à线? 程ì互¥斥a lock(this) { //tx_serve_rec.Text="客í户§机ú: 阰"+sTemp+"\n"+tx_serve_rec.Text; //this.tx_serve_rec.Invoke(newMethodInvoker( //delegate{this.tx_serve_rec.AppendText("客í户§机ú: 阰"+sTemp+"\n");} //)); LabTextDelgatewritelab=newLabTextDelgate(wstr_txt); this.Invoke(writelab,sTemp); } } } catch { tserve_AcceptMsg.Abort(); MessageBox.Show("无T法ぁ? 与? 客í户§机ú通? 信? 。 £"); } } elseif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# tcp调试助手源代码 tcp 调试 助手 源代码