資源描述:
《網(wǎng)絡(luò)編程-tcp同步編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、貴州大學(xué)實(shí)驗(yàn)報(bào)告學(xué)院:計(jì)算機(jī)學(xué)院專(zhuān)業(yè):軟件工程班級(jí):軟件123班姓名***學(xué)號(hào)***實(shí)驗(yàn)組實(shí)驗(yàn)時(shí)間2015-4-18指導(dǎo)教師蔡麗成績(jī)實(shí)驗(yàn)項(xiàng)目名稱(chēng)TCP同步編程實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)本實(shí)驗(yàn)掌握C#中TCP同步編程的方法,了解其區(qū)別與適用場(chǎng)合。實(shí)驗(yàn)要求實(shí)現(xiàn)簡(jiǎn)單的基于TCP或UDP的通信程序(可以基于控制臺(tái),也可以基于窗體),要求使用C#的基礎(chǔ)Socket。實(shí)驗(yàn)原理通過(guò)本實(shí)驗(yàn)掌握C#中的網(wǎng)絡(luò)編程socket同步編程實(shí)驗(yàn)環(huán)境Visualstudio2010實(shí)驗(yàn)步驟1.設(shè)計(jì)程序界面。2.實(shí)現(xiàn)程序功能。實(shí)驗(yàn)內(nèi)容實(shí)現(xiàn)簡(jiǎn)單的基于同步TCP的通信程序,要求使用C#的TCP同步
2、方法。實(shí)驗(yàn)數(shù)據(jù)核心代碼:服務(wù)器的代碼usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;usingSystem.IO;namespaceSyncT
3、cpServer{publicpartialclassfrmSyncTcpServer:Form{privateIPAddresslocalAddress;privateconstintport=51888;privateTcpListenertcpListener;privateTcpClienttcpClient;privateNetworkStreamnetworkStream;privateBinaryReaderbr;privateBinaryWriterbw;privateintsendCount=1;privateintreceive
4、Count=10;/*------------聲明委托------------*///顯示消息privatedelegatevoidShwMsgforViewCallBack(stringstr);privateShwMsgforViewCallBackshwMsgforViewCallBack;//顯示狀態(tài)privatedelegatevoidShwStatusInfoCallBack(stringstr);privateShwStatusInfoCallBackshwStatusInfoCallBack;//顯示進(jìn)度privatedelegat
5、evoidShwProgressProcCallBack(intprogress);privateShwProgressProcCallBackshwProgressProcCallBack;//重置消息文本privatedelegatevoidResetMsgTxtCallBack();privateResetMsgTxtCallBackresetMsgTxtCallBack;/*------------聲明委托------------*/publicfrmSyncTcpServer(){InitializeComponent();/*-----
6、-----定義委托----------*///顯示消息shwMsgforViewCallBack=newShwMsgforViewCallBack(ShwMsgforView);//顯示狀態(tài)shwStatusInfoCallBack=newShwStatusInfoCallBack(ShwStatusInfo);//顯示進(jìn)度shwProgressProcCallBack=newShwProgressProcCallBack(ShwProgressProc);//重置消息文本resetMsgTxtCallBack=newResetMsgTxtCall
7、Back(ResetMsgTxt);/*----------定義委托----------*/IPAddress[]listenIp=Dns.GetHostAddresses(Dns.GetHostName());localAddress=listenIp[1];//stringhostname=Dns.GetHostName();//IPHostEntrylocalhost=Dns.GetHostByName(hostname);//localAddress=localhost.AddressList[0];tbxSendCount.Text=se
8、ndCount.ToString();tbxReceiveCount.Text=receiveCount.ToString