实验二基于Windows的MFC WINSOCK编程

实验二基于Windows的MFC WINSOCK编程

ID:39615933

大小:1.90 MB

页数:8页

时间:2019-07-07

实验二基于Windows的MFC WINSOCK编程_第1页
实验二基于Windows的MFC WINSOCK编程_第2页
实验二基于Windows的MFC WINSOCK编程_第3页
实验二基于Windows的MFC WINSOCK编程_第4页
实验二基于Windows的MFC WINSOCK编程_第5页
资源描述:

《实验二基于Windows的MFC WINSOCK编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、天津理工大学实验报告学院(系)名称:计算机与通信工程学院姓名刘琪琪学号20125871专业网络工程班级1班实验题目基于Windows的MFCWINSOCK编程课程名称网络编程课程代码实验时间2015实验地点7-219批改意见成绩教师签字:实验基于Windows的MFCWINSOCK编程1.实验原理VC++对原来的WindowsSockets库函数进行了一系列封装,继而产生CAsynSocket、CSocket、CSocketFile等类,它们封装着有关Socket的各种功能。利用VC6.0中MFCAppWizard和MFCClassWizard功能将很容易实现网络聊天功能。2.实验环境1)W

2、indows系列操作系统。2)VC6.0编程环境3.实验内容与步骤1.建立基于对话框的MFC工程MySock注意:①基于对话框;②支持windowsocket。2.添加控件,并设置控件属性控件类型IDCaptionGroupBoxIDC_STATICStaticboxIDC_SMSG消息RadioButtonIDC_RCLIENTsocket类型EditboxIDC_EMSGRadioButtonIDC_RSERVER客户端ButtonIDC_BSEND发送StatictextIDC_SNAME服务器端StaticboxIDC_SSEND发送EditboxIDC_ESERVERNAME服务器

3、名ListboxIDC_LSENDStaticexttIDC_SPORTStaticboxIDC_SRECV接收EditboxIDC_EPORT端口号ListboxIDC_LRECVButtonIDC_BCONNECT连接ButtonIDC_BCLOSE关闭3.为控件添加对应的成员变量和映射消息响应函数双击“发送”按钮,添加OnBsend函数;双击“关闭”按钮,添加OnBclose函数;复用“连接”按钮,当选择客户端按钮时显示“连接”;当选择服务端时显示“监听”。为两个单选按钮添加一个消息函数,根据当前选择的按钮修改命令的正文。具体做法是,双击IDC_RCLIENT控件,添加函数OnRTyp

4、e函数,同时双击IDC_RSERVER控件,添加该函数。编辑该函数,添加如下代码://inMySockDlg.cppvoidCMySockDlg::OnRType(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);//使控件与变量同步if(m_iType==0)//m_iType=0即client端m_ctlConnect.SetWindowText("连接");//m_ctlConnect为控件“连接”按钮的映射变量elsem_ctlConnect.SetWindowText("监听");}运行程序,结果如

5、下图所示:选中“客户端”显示“连接”;选中“服务器端”显示“监听”:4.添加CAsyncSocket类的继承类MySocket为了使应用程序能够捕捉和相应socket事件,可以从AsyncSocket创建自己的派生类。该类需要有自己版本的事件函数,也需要一种把此事件传到对话框的方法。为把每个事件传给对话框类、添加一个指向父对话框的指针作为socket类的成员变量。对每个socket事件使用此指针调用事件函数。具体做法,如图所示:创建socket类后,为该类添加一个私有成员变量m_pWnd作为指向父对话框的指针;然后必须在该类中,添加一个成员函数SetParent以设置该指针,该函数在MySo

6、cket.cpp文件中的实现代码为:voidCMySocket::SetParent(CDialog*pWnd){m_pWnd=pWnd;//设置成员指针变量}最后,MySocket类,还必须添加事件函数,用于调用对话框类中名字相同的成员函数。为添加OnAccept事件函数,可以ClassWizard窗口中,单击右键

7、addvirtualfunction…注意:同时添加#include"MySocket.h"5.初始化CMySocket类的成员函数添加CMySocket变量后,添加所有变量的初始化代码。默认设置为:应用程序类型设置为客户端程序,服务器名为loopback,端口为4000,在两

8、个CMySocket对象中设置父对话框的指针,指向对话框类对象。所有这些初始化,都在OnInitDialog函数中完成。注意:计算机名loopback是TCP/IP网络协议的一个特殊名字,表示你正在这台计算机上工作,这个内部计算机名网址为127.0.0.1。需要与另一个程序连接,运行在同一台计算机上的应用程序都用此名字和网址。//inMySockDlg.cppBOOLCMySockDlg::OnInitDia

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。