- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络协议编程上机实验3
《网络协议编程》实验指导 实验3
PAGE
PAGE 14
第 页(共13页)
《网络协议编程》实验3
1.实验名称
基于winsock API与MFC的网络程序的编写与分析。
2.实验目的
(1)进一步熟练掌握常用的WinSock API函数。
(2)掌握基于MFC的简单应用程序的编写方法,理解VC编写的Windows应用程序的运行机制。
(3)掌握基于WinSock API函数与MFC的网络通信程序的编写方法。
3.实验性质与实验课时
(1)实验性质:验证性。
(2)实验课时:2学时。
4.实验环境
计算机局域网、Visual C++6.0
5.实验内容
(1)基于WinSock API函数和UDP协议的网络通信MFC程序的界面制作。
(2)基于WinSock API函数和UDP协议的网络聊天MFC程序的代码编写。
(3)聊天程序在局域网中两台不同电脑上的测试。
(4)聊天程序在同一台电脑上的测试。
(5???聊天程序核心代码分析说明。
6.实验步骤
(1)基于WinSock API函数和UDP协议的网络通信MFC程序的界面制作。
①在Visual C++6.0中,利用MFC AppWizard[exe]新建一个工程,自拟工程名称,并注意设置该工程的保存位置(如图1所示),选择应用程序类型为“基本对话框”(如图2所示,并注意选中WOSA支持(如图3所示),其余采用默认。
图1
图2
图3
②在得到的工程的对话框资源上,放置两个文本控件,两个命令按钮,一个框架控件并修改各控件的属性和布局如图4所示。
图4
(2)基于WinSock API函数和UDP协议的网络聊天MFC程序的代码编写。
WyChat.h的主要代码如下:
class CWyChatApp : public CWinApp
{
public:
CWyChatApp();
~CWyChatApp(); //添加的析构函数,便于WinSock函数库的注销
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CWyChatApp)
public:
virtual BOOL InitInstance();
//}}AFX_VIRTUAL
// Implementation
//{{AFX_MSG(CWyChatApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
WyChat.cpp的主要代码如下:
CWyChatApp::~CWyChatApp() //析构函数
{
WSACleanup(); //注销WinSock函数库
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CWyChatApp object
CWyChatApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CWyChatApp initialization
BOOL CWyChatApp::InitInstance() //在初始化函数中注册WinSock函数库
{
//if (!AfxSocketInit())
//{
//AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
//return FALSE;
//}
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVers
文档评论(0)