- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信协议与网络程序设计实验指导书
课 程 号:
适用专业:计算机科学与技术
制 定 人:
教 研 室:网络教研室
计算机科学与信息工程学院
2007 年9 月
目 录
实验一 熟悉开发工具 4
实验二 套接字编程练习 9
实验三 TCP套接字编程 21
实验四 UDP组播程序编程 28
实验五 基于MFC Socket类的网络编程 32
实验六 聊天室程序的设计及实现 37
实验七 PING程序的设计及实现 40
实验八 电子邮件程序的设计与实现 46
实验九 FTP客户端实现 51
《通信协议与网络程序设计》实验指导书
一、说明
本实验指导书根据《通信协议与网络程序设计》教学大纲和实验大纲编写。前2个实验为练习性实验,旨在让学生在熟悉开发工具的环境和使用,熟悉套接字编程的基本原理。后面的各个实验主要让学生理解各协议的工作原理,掌握相应应用程序的实现过程。
二、实验目的
通过实验,使学生熟悉并掌握计算机网络编程的基本知识,加深对课堂教学内容的理解,掌握基本的编程技巧,使学生能够进行一些简单的网络程序设计。
三、实验安排
《通信协议与网络程序设计》实验部分共有9实验,每个实验占用2学时,共1。
具体安排如下:
实验一、熟悉开发工具(2课时)
实验二、套接字编程练习(2课时)
实验三、TCP套接字编程(2课时)
实验四、UDP组播程序编程(2课时)
实验五、windows sockets API练习(2课时)
实验六、聊天室程序的设计及实现(2课时)
实验七、PING程序的设计及实现(2课时)
实验八、电子邮件程序的设计与实现(SMTP客户端、POP3客户端程序)(2课时)
实验九、FTP客户端实现(2课时)
实验一 熟悉开发工具
实验目的
通过编写简单的Windows窗口、基于MFC的计算器以及车站售票程序(多线程实现),深入了解VC++的开发环境,掌握常用的控件使用方法和程序编写过程。
实验内容
1.开发简单的Windows窗口
2.开发MFC下的程序界面,实现计算器,能进行运算。
3.开发一个多线程的例子:车站售票程序。
实验环境
Windows操作系统、VC++6.0
实验指导
1. 利用Windows API函数编写Windows应用程序必须首先了解以下内容:
(1)窗口的概念
(2)事件驱动的概念
(3)句柄
(4)消息
2. Windows应用程序常用消息
(1)WM_LBUTTONDOWN:产生单击鼠标左键的消息
(2)WM_KEYDOWN:按下一个非系统键时产生的消息
(3)WM_ CHAR:按下一个非系统键时产生的消息
(4)WM_CREATE:由CreateWindow函数发出的消息
(5)WM_CLOSE:关闭窗口时产生的消息
(6)WM_DESTROY:由DestroyWiodow函数发出的消息
(7)WM_QUIT:由PostQuitMessage函数发出的消息
(8)WM_PAINT
3. Windows应用程序组成及编程步骤
(1)应用程序的组成
C语言源程序文件
头文件
模块定义文件
资源描述文件
项目文件
(2)源程序组成结构
入口函数WinMain
窗口函数WndProc
①入口函数WinMain
WinMain函数的说明如下:
int WINAPI WinMain
( HINSTANCE hThisInst, ∥应用程序当前实例句柄
HINSTANCE hPrevInst, ∥应用程序其他实例句柄
LPSTR lpszCmdLine, ∥指向程序命令行参数的指针
Int nCmdShow ∥应用程序开始执行时窗口显示方式的整数值标识
)
初始化
消息循环
消息循环的常见格式如下:
MSG Msg;
…
while (GetMessage (Msg,NULL,0,0))
{ TranslateMessage(Msg);
DispatchMessage(Msg); }
②窗口函数的一般形式如下:
LRESULT CALLBACK WndProc( HWND hwnd, UINT messgae,
WPARAM wParam,LPARAM lParam )
{ …
switch(message) ∥ message为标识的消息
{ case …
…
break;
…
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return(0);
2.多线程
(1)HANDLE CreateThread(
文档评论(0)