c#tcp调试助手源代码.docx
- 文档编号:4394621
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:23
- 大小:21.50KB
c#tcp调试助手源代码.docx
《c#tcp调试助手源代码.docx》由会员分享,可在线阅读,更多相关《c#tcp调试助手源代码.docx(23页珍藏版)》请在冰豆网上搜索。
c#tcp调试助手源代码
c#tcp调试助手源代码
以下是winformtcp调试助手源代码,调试通过,可进行简单应用
usingSystem;
usingSystem.Collections。
Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem。
Text;
usingSystem。
Windows。
Forms;
//添?
加ó新?
的?
名?
称?
空?
间?
引皔用?
usingSystem.IO;
usingSystem。
Net;
usingSystem。
Net.Sockets;
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=newSystem。
Windows.Forms。
Timer();
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。
Length;ii++)
{
arr[ii]=Convert。
ToByte(HexStrSplit[ii],16);
}
stringstrtem=”";
for(intii=0;ii〈arr。
Length;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);
//intlength=host.AddressList。
Length;
stringsrttemp;
//IPAddresslocaladdr=null;
cBox_localip。
Items。
Clear();
foreach(IPAddressipinhost.AddressList)
{
srttemp=ip.ToString();
cBox_localip.Items.Add(srttemp);
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 Length;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_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tcp 调试 助手 源代码