研究生课程-网络编程.doc
《研究生课程-网络编程.doc》由会员分享,可在线阅读,更多相关《研究生课程-网络编程.doc(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流1.11.21.31.4 研究生课程-网络编程【精品文档】第 19 页1.5 Linux平台简单套接字编程实验类型:设计性 一、实验环境操作系统:Linux编程工具及集成开发环境:gcc, vi或anjuta二、实验目的和要求实验目的:掌握Linux平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在Linux上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。选择TCP或UDP方式之一。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端
2、程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。三、实验提示1可以从下载可供参考的程序。解压采用“zcat v3.linux.dist.tar.Z | tar xvf ”。编译下列文件产生TCPdaytime、UDPtime、TCPdaytimed、UDPtimed四个可执行文件。gcc connectsock.c connectTCP.c errexit.c TCPdaytime.c o TCPdaytimegcc connectsock.c connectUDP.c errexit.c UDPtime.c o
3、UDPtimegcc passivesock.c passiveTCP.c errexit.c TCPdaytimed.c o TCPdaytimedgcc passivesock.c passiveUDP.c errexit.c UDPtimed.c o UDPtimedTCPdaytime和TCPdaytimed分别是TCP版本的时间查询客户端和服务器端程序。UDPtime和UDPtimed分别是UDP版本的时间查询客户端和服务器端程序。此外,TCPecho.c, UDPecho.c分别是TCP和UDP版本的,实现echo服务的客户端程序,需要用户自己写服务器端程序。2先找到包含主函数ma
4、in()的文件进行编译和连接,如果发现某些被调用函数没有找到,再把包含这些被调用函数的文件一起编译。多个文件一起编译的办法有三个:一是gcc file1.c file2.c , 二是把包含被调用函数的文件用#include “file1.c”的方式包含在主函数文件中,三是使用anjuta建立一个工程,和VC+很类似。3首先,通过阅读、编译、连接和运行别人的程序来学习编程;其次,尝试局部修改别人的程序来理解程序中每一个细节的含义;最后,编写自己的程序,其中可以使用别人的程序(段)。4如果编译时提示errno没有定义,则加上#include1.6 Windows平台简单套接字编程实验类型:设计性
5、一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。三、实验提示可以在 和1.7 并发套接字编程实验类型:设计性 一、实验环境
6、操作系统:Windows或Linux编程工具及集成开发环境:VC+或anjuta二、实验目的和要求实验目的:掌握Linux或Windows平台上多线程、多进程或异步I/O的套接字编程。实验要求:完成下列任务之一(1)按照“7.4 多线程网络编程的例子”(叶树华,高志红.网络编程实用教程.北京:人民邮电出版社,2006)的叙述,在Windows上改写ftp客户端程序,使之支持多线程。(2)完成select或WSAEventSelect的一个程序,要求用多个客户端进行测试。附加内容:(1)分别在Linux和Windows平台上尝试各种并发套接字编程。(2)测试对于一个并发服务器,最多有几个客户机可
7、以与之相连。三、实验提示(1)参考 Visual Studio 6.0- Microsoft Visual Studio 6.0 Tools-Windiff)了解多线程的编程语句。(2)对于select的例子,服务器程序可以参考客户机程序可以参考(3)对于WSAEventSelect的例子,服务器程序可以参考客户机程序可以参考(4)在 tcp_multiple_process_server上有多进程的例子。(5)多线程程序编译时,在Linux上要用-pthread选项;在Windows上需要更改设置: Project - Settings - 选择C/C+属性页, 在Category中选择Co
8、de Generation, 再在Use run-time library中选择Debug Multithreaded或者multithreaded。四、思考题1与传统串行程序设计方法相比,简要说明并发程序设计方法的优点。2比较多线程、多进程和异步I/O这三种并发套接字编程方法的优缺点。3在多线程套接字编程中应注意哪些问题?1.8 MFC编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单MFC编程。实验要求:在Windows上,编写、编译1个包含文本显示框和对话框的程序。1.9 CSocket编程实验
9、类型:设计性 一、实验环境:操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CAsyncSocket和CSocket的套接字编程。实验要求:完成对下面程序的简单修改(比如登录、统计)。(1)教材上的点对点通信程序(参见“5.4 CAsyncSocket类的应用实例”)。(2)教材上的多点聊天程序。三、实验提示示例:在界面上添加一个“关闭”按钮。第一步,修改控件的属性。在弹出的对话框中修改与该控件功能相对应的成员函数的名字。按“OK”键后,出现该成员函数的定义,便可在其中添加相应的代码进行功能的控制。例如,我们这里希望该控件实现的是关闭整个对话框的功能,所以
10、在成员函数体内添加如下的定义:CDialog:OnCancel();由此便可简单实现关闭按钮的功能。请参照上例,对原程序作些简单功能的修改。1.10 WinInet编程实验类型:设计性 一、实验环境:操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握WinInet的套接字编程。实验要求:读懂并修改 “6.4 MFC WinInet类应用程序编程实例” 中ftp客户端程序。附加内容:读懂教师提供的http客户端程序,并加以修改,使之能下载文件及目录。三、实验提示1从babyftp.zip和WinInet.rar。前者解压后是一个无需安装的ftp服务器,后者是提
11、供的ftp和http客户端程序。2读懂ftp程序,然后修改。比如,增加查询到文件的计数(1)修改资源,增加一个编辑框(图1)图1 图2(2)通过类向导,为编辑框增加变量(图2)(3)在void CFtpDlg:OnQuery()中插入代码(加粗部分)m_fileNum =0;UpdateData(FALSE);bContinue=pFileFind-FindNextFile(); / 查找下一个文件while (bContinue) / 找到了第一个文件,继续找其它的文件m_listFile.AddString(strFileName);m_fileNum+;UpdateData(FALSE)
12、;bContinue=pFileFind-FindNextFile(); / 查找下一个文件1.11 MFC WinSock类的编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CAsyncSocket和CSocket的套接字编程。实验要求:完成下列之一:(1)基于 “5.4 CAsyncSocket类的应用实例”的点对点通信程序,完成采用CAsyncSocket的多点聊天程序。(2)基于教材上的多点聊天程序,实现登录功能和统计功能。1.12 HTTP协议应用编程实验类型:设计性 一、实验环境操作系统:Windows编程工具
13、及集成开发环境:VC+二、实验目的和要求实验目的:掌握CHtmlView编程。实验要求:基于“9.3 Web浏览器应用程序实例”中的浏览器程序,把最近访问过的网页和文件链接写入一个html文件中。可选内容:对最近访问过的网页和文件进行LRU排序。1.13 电子邮件协议应用编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握SMTP和POP3编程。实验要求:基于教材上的SMTP发送和POP3接收程序,把发送和接收功能合到一个程序中。1.14 HTML网页编写实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发
14、环境:任一文本编辑工具和网页开发工具二、实验目的和要求实验目的:掌握基本html网页编程,了解基本JavaScript或VBScript编程。实验要求:完成一个包含个人简历的个人主页,必须包含:(1), , , (2)headline, paragraph, line break, line, empty blank, comments(3)hypertext link(3)text aligning, text color, text font,(4)unnumbered lists, numbered list(5)table(6)image三、实验提示以下提供了一个简单例子RESUMEP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 研究生课程 网络 编程
限制150内