《2022年网络编程技术实验指导书可用 .pdf》由会员分享,可在线阅读,更多相关《2022年网络编程技术实验指导书可用 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络编程技术实验指导书董黎刚信息与电子工程学院浙江工商大学2013-3-24 18:46:00 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 1 Content Content . 1 课内实验 1. Linux 平台简单套接字编程. 2 课内实验 2. Windows 平台简单套接字编程 . 4 课内实验 3. html 网页编程 . 5 课内实验 4.
2、 客户端 Web编程 . 6 课内实验 5. WinInet 编程 . 7 课内实验 6. 并发套接字编程 . 8 课外实验 1. MFC 编程 . 9 课外实验 2. MFC WinSock 类的编程 . 10 课外实验 3. 服务器端Web编程 . 11 课外实验 4. HTTP 协议应用编程 . 12 课外实验 5. 电子邮件协议应用编程 . 13 课外实验 6. 网络综合程序设计 . 14 附录 1. 程序评分标准. 15 附录 2. Linux shell commands . 16 附录 3. 编程类实验报告参考格式 . 18 名师资料总结 - - -精品资料欢迎下载 - - -
3、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 2 课内实验 1. Linux平台简单套接字编程实验类型:设计性一、实验环境操作系统 :Linux 编程工具及集成开发环境:gcc, vi 或 anjuta 二、实验目的和要求实验目的:掌握Linux 平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在 Linux 上,编写、编译1 个客户机端程序和1 个服务器端程序。要求客户机端程序能发送请求给服务器
4、端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。可选内容:(1)编写聊天程序, 即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。(2)编写 TCP 和 UDP 两种程序。三、实验提示(1)从http:/ v3.linux.dist.tar.Z | tar xvf ”。编译下列文件产生TCPdaytime 、 UDPtime 、TCPdaytimed、UDPtimed 四个可执行文件。gcc connectsock.c connectTCP.c errexit.c
5、 TCPdaytime.c o TCPdaytime gcc connectsock.c connectUDP.c errexit.c UDPtime.c o UDPtime gcc passivesock.c passiveTCP.c errexit.c TCPdaytimed.c o TCPdaytimed gcc passivesock.c passiveUDP.c errexit.c UDPtimed.c o UDPtimed TCPdaytime 和 TCPdaytimed 分别是 TCP 版本的时间查询客户端和服务器端程序。UDPtime 和 UDPtimed 分别是 UDP 版本
6、的时间查询客户端和服务器端程序。此外, TCPecho.c, UDPecho.c 分别是 TCP 和 UDP 版本的,实现echo服务的客户端程序,需要用户自己写服务器端程序。(2)先找到包含主函数main()的文件进行编译和连接,如果发现某些被调用函数没有找到,再把包含这些被调用函数的文件一起编译。多个文件一起编译的办法有三个:一是 gcc file1.c file2.c , 二是把包含被调用函数的文件用#include “ file1.c” 的方式包含在主函数文件中,三是建立一个工程,和VC+ 类似。(3)首先,通过阅读、编译、连接和运行别人的程序来学习编程;其次,尝试局部修改别人的程序来
7、理解程序中每一个细节的含义;最后,编写自己的程序,其中可以使用别人的程序(段)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 3 三、思考题1在面向连接的网络通信时,目的IP 地址能否输入诸如192.168.25.255 的地址,为什么?2在无连接的网络通信时,目的IP 地址能否输入诸如192.168.25.255 的地址,此时,网络上的其他打开了消息接收
8、程序的计算机会有和反映,为什么?3 如何在 TCP 通信时主机A 使用了端口号2000,那么在 A 上使用 UDP 通信时能否同时使用2000 这个端口号呢?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 4 课内实验 2. Windows平台简单套接字编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:VC+ 二、实验目的和
9、要求实验目的:掌握Windows 平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在 Windows 上,编写、编译1 个客户机端程序和1 个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。可选内容:(1)编写聊天程序, 即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。(2)编写 TCP 和 UDP 两种程序。三、思考题1Windows 和 Linux 平台的套接字编程的不同之处。2写一程序以检测本机是
10、用big-endian 还是 little-endian 。3在 Windows 上如何禁止接收消息?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 5 课内实验 3. html网页编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:任一文本编辑工具二、实验目的和要求实验目的:掌握基本html 网页编程。实验要求:完成一个ht
11、ml 网页,必须包含:(1), , , (2)headline, paragraph, line break, line, empty blank, comments (3)链接和电邮地址(3)text aligning, text color, text font, (4)unnumbered lists, numbered list (5)table (6)image 可选内容:(1)编写个人简历网页。(2)编写包含CSS 的网页。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
12、6 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 6 课内实验 4. 客户端 Web编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:任一文本编辑工具二、实验目的和要求实验目的:掌握基本JavaScript 或 VBScript 编程。实验要求:完成一个html 网页,必须包含JavaScript 或 VBScript 的:(1)variables, data types, operators, selection structure, repetition structure, f
13、unction, object (2)form (包括 text, textarea, checkbox, radio, select, button)(3)menu 可选内容:(1)编写包含JavaScript 和 VBScript 的网页。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 7 课内实验 5. WinInet编程实验类型:设计性一、实验环境操
14、作系统 :Windows 编程工具及集成开发环境:VC+ 二、实验目的和要求实验目的:掌握WinInet 的套接字编程。实验要求:基于教材上的ftp 客户端程序(参见“6.4 MFC WinInet 类应用程序编程实例”),完成http 客户端程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 8 课内实验 6. 并发套接字编程实验类型:设计性一、实验环境
15、操作系统 :Windows 或 Linux 编程工具及集成开发环境:VC+ 或 anjuta 二、实验目的和要求实验目的:掌握Linux 或 Windows 平台上多线程、多进程或异步I/O 的套接字编程。实验要求:(1)在 Windows 上,编写、编译1 个客户机端程序和1 个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。可选内容:(1)编写 Linux 和 Windows 平台上采取各并发方式的6 种程序。(2)测试多线程、多进程或异步I/O 的
16、性能。三、实验提示(1) 在 v3.linux.dist.tar.Z中解压产生的文件中,编译下列文件产生TCPdaytime 、 UDPtime 、 TCPdaytimed、 UDPtimed四个可执行文件。gcc connectsock.c connectTCP.c errexit.c TCPtecho.c o TCPtechogcc passivesock.c passiveTCP.c errexit.c TCPechod.c o TCPechodgcc passivesock.c passiveTCP.c errexit.c TCPmechod.c o TCPmechodgcc pass
17、ivesock.c passiveTCP.c errexit.c TCPmtechod.c o TCPmtechodTCPtecho是 TCP 版本的,用异步I/O 方式的,实现echo 服务的客户端程序。TCPechod、 TCPmechod、和 TCPmtechod 分别是 TCP 版本的,用多进程、多线程、异步I/O 方式的,实现echo服务的服务器端程序。(2)多线程程序编译连接需要用-pthread 选项名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页
18、- - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 9 课外实验 1. MFC 编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:VC+ 二、实验目的和要求实验目的:掌握Windows 平台上简单MFC 编程。实验要求:在Windows 上,编写、编译1 个包含文本显示框和对话框的程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 网络
19、编程技术实验指导书Last updated: 3/24/2013 10 课外实验 2. MFC WinSock类的编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:VC+ 二、实验目的和要求实验目的:掌握CAsyncSocket 和 CSocket 的套接字编程。实验要求:完成下列之一:(1)基于教材上的点对点通信程序(参见“5.4 CAsyncSocket 类的应用实例”),完成采用CAsyncSocket 的多点聊天程序。(2)基于教材上的多点聊天程序,实现登录功能和统计功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
20、 - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 11 课外实验 3.服务器端 Web编程实验类型:综合性一、实验环境操作系统 :Windows 或 Linux 编程工具及集成开发环境:任选二、实验目的和要求实验目的:掌握服务器端的动态网页编程技术。实验要求:(1)编写实现一个信息管理系统。作为例子的每条信息必须是多字段(包含 3 个字段以上, 至少一个字段是图形、图像或视频)记录。(2)一般用户通过浏览器能够搜索和浏览信息,管理员通过
21、浏览器可以编辑信息。(3)必须采用后台数据库。(4)必须包含登录功能。可选内容:(1)日志和统计功能(2)按照访问量自动排序功能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 12 课外实验 4. HTTP协议应用编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境:VC+ 二、实验目的和要求实验目的:掌握CHtmlView编
22、程。实验要求:基于教材上的浏览器程序(参见“9.3 Web 浏览器应用程序实例”),把最近访问过的网页和文件链接写入一个html 文件中。可选内容:对最近访问过的网页和文件进行LRU 排序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 13 课外实验 5. 电子邮件协议应用编程实验类型:设计性一、实验环境操作系统 :Windows 编程工具及集成开发环境
23、:VC+ 二、实验目的和要求实验目的:掌握SMTP 和 POP3 编程。实验要求:基于教材上的SMTP 发送和 POP3 接收程序,把发送和接收功能合到一个程序中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 14 课外实验 6. 网络综合程序设计实验类型:综合性一、实验环境操作系统 :Windows 或 Linux 编程工具及集成开发环境:任选二、实验
24、目的和要求实验目的:掌握包含界面设计的网络综合编程。实验要求:(1)编写实现一个可以供二人以上参加的网络游戏或网络聊天的1 个客户端程序和1 个服务器端程序。(2)必须包含图形界面。客户端界面有三个部分组成:用户信息;游戏或聊天内容;状态提示信息。服务器端界面包含客户端连接信息及其他全局信息。(3)必须包含登录功能。客户端登录到服务器,服务器管理所有登录的用户,并将用户列表发送给各个用户显示。客户端程序可以实时显示所有用户是否上线(可不区分是否好友)。(4)必须实现呼叫功能。任何用户可以选择任一其他在线用户,进行游戏或聊天 (可不考虑是否需要对方允许)。三、实验提示1可以采用任何编程语言(C,
25、 C+, MFC, Perl, tcl/tk, python, PHP, ASP, JSP, Servlet, VB, ColdFusion)。2可以采用socket 编程或 Web 编程,且鼓励基于任何中间件或他人已经完成的程序来实现,但是必须清楚说明学生本人的贡献。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 15 附录 1. 程序评分标准1程序功能
26、和原理(40) -把具体要求分解,思路正确2程序质量( 40%)(1)用大括号和缩进来清楚地显示程序结构。(提示:按一次tab键产生一个缩进) (2)各函数有功能说明和参数说明(3)每个源程序文件都有说明(比如本程序功能,作者,包含哪些函数)(4)每个函数长度不超过100 行(5)函数、变量取名前后一致并容易理解(6)对不容易理解的常量、变量和语句有注释(比如全局常量、变量、if 语句)(7)是否允许全部合法输入,是否能检测出所有不合理输入3程序编写和调试综合能力(20) ,比如(1)会单步运行到任何一个语句(2)单步运行时能查看变量值名师资料总结 - - -精品资料欢迎下载 - - - -
27、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 16 附录 2. Linux shell commandsReview the operation of Linux, in particular shell commands (bash). 1命令分类Part I Programming Use “ vi ” to construct a program “helloworld.c” that can print
28、“ hello world” . Compile and run it. (hint: 编译用 gcc helloworld.c, 执行用 ./a.out) Vi 是 UNIX/Linux 环境下的文本编辑工具,其工作模式分为:命令模式和编辑模式。常用的命令: i, 进入编辑模式,并在光标所在位置插入; a, 进入编辑模式,并在光标之后添加; x, 删除当前字符; dd , 删除当前行 ; :number, 定位到指示的行; :/string, 查找指定字符串; :q, 退出 vi; :wq, 存盘并退出gcc 常见的用法有: gcc test.c /- a.out gcc c test.c
29、/- test.o gcc o test test.c /- test gcc o test test1.o test2.o /- test gcc o test test.o lmath /- test Part II File/Directory List files in current directory. (hint:ls或 ll)Show current directory. (hint:pwd)Change to a sub-directory. (hint:cd) Make a new sub-directory in current directory, then move
30、“ helloworld.c” into this new sub-directory. (hint: mkdir source, mv old_file new_file) Change the access permissions of “helloworld.c” to -rw-r-xrw-. (hint:chmod 656 helloworld.c) Find a file named “emacs” in hard disk. (hint: find / -name emacs) Make a hard link, which is called “helloworld1.c” ,
31、of “ helloworld.c” . (hint: ln old_file new_file); Make a symbolic link, which is called “helloworld2.c” , of “ helloworld1.c” . Then remove helloworld1.c. (hint: ln s old_file new_file) Check the output of “ls l ” to compare the hard link and soft link.Make a copy of “helloworld.c”. The new file is
32、 “ helloworld3.c” . (hint: cp source_file destination_file) Archive and compress all the files inside a sub-directory. (hint: tar cvf new_file.tar *, gzip old_file) Part III Text Show the first 10 line of helloworld.c in reverse order. (hint: head helloworld.c | sort -r) Print the number of bytes, w
33、ords, and lines of helloworld.c to a file called “ info.txt” . (hint: wc helloworld.c info.txt) Merge helloworld.c and info.txt to a new file “ helloworld.txt” . (hint: paste helloworld.c info.txt helloworld.txt)Print column 3- 5 of “helloworld.c”. (hint: cut c3-5 helloworld.c) Remove “ /home/your_n
34、ame/source”. (hint: rmdir, rm)Part IV Process compare the difference among “ps”, “ps f ” , and “ ps ef ” . execute “ top ” to show the most active processes.Part V I/O Devices Find the free space size in hard disks and usage size of /usr/src. (hint: du, df) Part VI Networking Find the IP address of
35、the local host. (hint: ifconfig) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 17 Change the IP address of the localhost. (hint: ifconfig eth0 192.168.2.2 up Or change /etc/sysconfig/network-scripts/if
36、cfg-eth0) Part VII System Management Find the version of Linux kernel and host name in the local host. (hint: uname a) Set a regular variable called “var1 ” and an environment variable “ var2 ” . You can assigned any value. (hint: var1=10, export var2=3, 分别用 set, env 来查看 ) Find the memory and cpu us
37、age information of this local host. (hint: cat /proc/cpuinfo, cat /proc/meminfo) Find the .h file containing the definition of struct sockaddr_in in /usr/src/. (hint: grep r “ struct sockaddr_in ” /usr/src/* ) 2Hints 1) 先理解命令的含义,再运行试验。如果你想了解是否有完成某项工作的命令,可以使用“ apropos 关键词 ” ;如果你想了解某个命令的细节(比如选项),可以使用“
38、man ls ”, “ls help ” (以 ls 为例 )。如果你想知道某个命令的文件在哪个目录里,可以使用“whereis ls”, “which ls ” (以 ls 为例 )。2) 命令执行完,要检查一下是否执行正确,比如用“ls l ”检查是否产生了新的文件3)命令执行失败的常见错误有:a) 名字敲错; b) 命令和选项或执行对象之间没有空格;c)文件确实不在你所预想的那个目录里,这可以用“ls l ”来检查; d)文件不在缺省路径里,你需要指定文件的路径。4) 用 Ctrl-C 强行退出正在运行的命令5) 用 clear 清屏名师资料总结 - - -精品资料欢迎下载 - - -
39、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 网络编程技术实验指导书Last updated: 3/24/2013 18 附录 3. 编程类实验报告参考格式实验名称 (比如“职工信息管理系统设计和开发) 同组(所有)学生:(比如“张三,网络0602,学号;李四,网络0602,学号“)实验地点:(比如现代教育技术中心房间 )实验日期和时间:(比如2007 年 10 月 9日 13 :3015:30)实验类别:课内实验课外实验独立实验实验类型:基础性验证性设计性综合性一、实验环境
40、(说明运行的操作系统、编程工具和集成开发环境、桌号、机器的IP 地址等)二、实验目的和要求(目的:掌握,熟悉,了解)(要求完成:)三、实验内容和结果(可选内容: (1)程序整体功能; (2)程序组成及各模块/ 函数功能; (3)重要数据结构,重要模块/ 函数算法;(4)程序清单(可以手写,或者打印后粘贴到本实验报告本中);(5)程序的运行和测试结果(最好有截图)四、思考题五、实验中的问题及心得(说明在实验中碰到哪些问题、是否已经解决、有哪些经验或教训,如果有未解决问题也可以在这里向老师提出来) 实验注意事项 1 没有亲自上机实践就没有收获。2 独立完成,严禁抄袭实验报告。3 一般要求程序结果正确后,才能上交实验报告。对于无法解决的问题,要及时找老师指导。4 上交实验报告的同时,教师可能要求上交程序电子版。5 实验报告中打印粘贴的纸张要按封面的尺寸裁剪整齐。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -