资源描述:
《计算机网络程序设计实验6》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、北京联合大学信息学院网络程序设计实验报告实验序号:姓名:学号:班级:专业:实验六、基于MFC的UDP协议的网络程序调试服务器代码voidCUdpSDlg::0nSockct(WPARAMwParam,LPARAM1Param){charcs[100]=〃〃;//定义数据缓冲区if(lParam二二FD_READ)//如果是套接字读取时间{CStringnum二”;//定义字符串变量intn=sizeof(addrl);::recvfrom(s,cs,100,0,(sockaddr*)&addrl,&n);//接收客户端信息GetDlgltem(IDC_EDIT1)->GetWindo
2、wText(num);//获取消息框中的内容num+=z,r客月端说:〃;〃添加冋车换行符num+=(LPTSTR)cs;//将接收到的数据转换为字符串GetDlgltem(1DC_ED1T1)->SetWindowText(num);//设置消息框内容}"}BOOLCUdpSDlg::OnTnitDialog(){CDialog::0nlnitDialog();//Settheiconforthisdialog.Theframeworkdoesthisautomatically//whentheapplication'sniEiinwindowisnotadialogSeti
3、con(m_hlcon,TRUE);//SetbigiconSeticon(mhlcon,FALSE);//Setsmallicon//TODO:AddextrainitializationhereWORDversion=MAKEWORD(2,0);WSADATAwsadata;if(WSAStartup(version,&wsadata)){MessageBoxC加载Winsockdll失败”);returntrue;}addr.sinfamily=AF_TNET;addr・sin_port二htons(8088);addr.sinaddr.Sun.Saddr=lNADDRANY;
4、s=::socket(AF_INET,SOCK_DGRAM,0);::bind(s,(sockaddr*)&addr,sizeof(addr));::WSAAsyncSelect(s,this->m_hWnd,W_S0CKET,FD_READ);//将套接字设置为异步模式returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCUdpSDlg::0nPaint(){if(Isleonic()){CPaintDCde(this);//devicecontextforpaintingSendMessage(WM_ICONERAS
5、EBKGND,(WPARAM)de.GetSafeHde(),0);//Centericoninclientrectangleintcxlcon=GetSystemMetrics(SM_CXIC0N);intcylcon=GetSystemMetrics(SM_CY1CON);CRectrect;GetClientRect(Srect);intx二(rect.Width()-cxTcon+1)/2;inty=(rect・IIeight()-cylcon+1)/2;//Drawtheiconde.Drawlcon(x,y,mhlcon);}"else{CDialog::0nPaint(
6、);}}voidCUdpSDlg::0nButtonl(){//TODO:AddyourcontrolnotificationhandlercodehereCStringstr二"“;intn=sizcof(addrl);GetDlgltem(lDC_EDlT2)->GetWindowText(str);if(::sendto(s,str.GetBuffer(1),str.GetLength(),0,(sockaddr*)&addrl,n))//发数据到客户端GetDlgItem(IDC_EDIT2)->SetWindowText(〃〃);voidCUdpSDlg::0nDestro
7、y(){CDialog::0nDestroy();//TODO:Addyourmessagehemdlcrcodehereclosesocket(s);if(WSACleanupO){MessageBoxC卸载Winsockdll失败〃);rcturn;客户端代码voidCUdpCDlg::0nSocket(WPARAMwParam,LPARAM1Param){charcs[100]二〃〃;//定义数据缓冲区if(lParam=FD_READ)〃如果是套接