欢迎来到天天文库
浏览记录
ID:57194550
大小:39.43 KB
页数:8页
时间:2020-08-05
《数媒梁伟伦1400170151实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、贵州大学实验报告学院:计算机科学与技术学院专业:数字媒体技术班级:141姓名梁伟伦学号实验组实验时间2017.04.19指导教师蔡丽成绩实验项目名称实验五TCP同步编程实验目的通过本实验掌握C#中TCP同步编程的方法,了解其区别与适用场合。实验要求熟悉VisualStudio开发环境,掌握C#的TCP同步编程。实验环境VisualStudio开发环境实验步骤1.设计程序界面。2.实现程序功能。实验内容实现简单的基于同步TCP的通信程序,要求使用C#的TCP同步方法。实验数据实验代码:publicfrmSyncTcpSe
2、rver(){InitializeComponent();//显示消息shwMsgforViewCallBack=newShwMsgforViewCallBack(ShwMsgforView);//显示状态shwStatusInfoCallBack=newShwStatusInfoCallBack(ShwStatusInfo);//显示进度shwProgressProcCallBack=newShwProgressProcCallBack(ShwProgressProc);//重置消息文本resetMsgTxtCall
3、Back=newResetMsgTxtCallBack(ResetMsgTxt);IPAddress[]listenIp=Dns.GetHostAddresses("");localAddress=listenIp[0];tbxSendCount.Text=sendCount.ToString();tbxReceiveCount.Text=receiveCount.ToString();toolStripProgressProc.Minimum=0;}privatevoidAcceptClientConnect(){s
4、tatusStripInfo.Invoke(shwStatusInfoCallBack,"["+localAddress+":"+port+"]侦听...");//间歇延时DateTimenowtime=DateTime.Now;while(nowtime.AddSeconds(1)>DateTime.Now){}try{statusStripInfo.Invoke(shwStatusInfoCallBack,"等待连接...");statusStripInfo.Invoke(shwProgressProcCallBa
5、ck,1);tcpClient=tcpListener.AcceptTcpClient();//同步操作1//附加操作1statusStripInfo.Invoke(shwProgressProcCallBack,100);if(tcpClient!=null){statusStripInfo.Invoke(shwStatusInfoCallBack,"接受了一个连接.");networkStream=tcpClient.GetStream();br=newBinaryReader(networkStream);bw=
6、newBinaryWriter(networkStream);}}catch{statusStripInfo.Invoke(shwStatusInfoCallBack,"停止侦听.");//间歇延时DateTimenow=DateTime.Now;while(now.AddSeconds(1)>DateTime.Now){}statusStripInfo.Invoke(shwProgressProcCallBack,0);statusStripInfo.Invoke(shwStatusInfoCallBack,"就绪"
7、);}}C#SyncTcpClient核心代码:privateTcpClienttcpClient;privateNetworkStreamnetworkStream;privateBinaryReaderbr;privateBinaryWriterbw;privateintsendCount=1;privateintreceiveCount=10;//显示消息privatedelegatevoidShwMsgforViewCallBack(stringstr);privateShwMsgforViewCallBack
8、shwMsgforViewCallBack;//显示状态privatedelegatevoidShwStatusInfoCallBack(stringstr);privateShwStatusInfoCallBackshwStatusInfoCallBack;//显示进度privatedelegatevoidShwProgress
此文档下载收益归作者所有