研究生课程-网络编程

上传人:简****9 文档编号:107948769 上传时间:2019-10-21 格式:DOC 页数:28 大小:745.50KB
返回 下载 相关 举报
研究生课程-网络编程_第1页
第1页 / 共28页
研究生课程-网络编程_第2页
第2页 / 共28页
研究生课程-网络编程_第3页
第3页 / 共28页
研究生课程-网络编程_第4页
第4页 / 共28页
研究生课程-网络编程_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《研究生课程-网络编程》由会员分享,可在线阅读,更多相关《研究生课程-网络编程(28页珍藏版)》请在金锄头文库上搜索。

1、1.1 Linux平台简单套接字编程实验类型:设计性 一、实验环境操作系统:Linux编程工具及集成开发环境:gcc, vi或anjuta二、实验目的和要求实验目的:掌握Linux平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在Linux上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。选择TCP或UDP方式之一。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接

2、收对方发送的消息。三、实验提示1可以从http:/ 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 UDPtimegcc passivesock.c passiveTCP.c errexit.c TCPdaytimed.c o TCPd

3、aytimedgcc passivesock.c passiveUDP.c errexit.c UDPtimed.c o UDPtimedTCPdaytime和TCPdaytimed分别是TCP版本的时间查询客户端和服务器端程序。UDPtime和UDPtimed分别是UDP版本的时间查询客户端和服务器端程序。此外,TCPecho.c, UDPecho.c分别是TCP和UDP版本的,实现echo服务的客户端程序,需要用户自己写服务器端程序。2先找到包含主函数main()的文件进行编译和连接,如果发现某些被调用函数没有找到,再把包含这些被调用函数的文件一起编译。多个文件一起编译的办法有三个:一是g

4、cc file1.c file2.c , 二是把包含被调用函数的文件用#include “file1.c”的方式包含在主函数文件中,三是使用anjuta建立一个工程,和VC+很类似。3首先,通过阅读、编译、连接和运行别人的程序来学习编程;其次,尝试局部修改别人的程序来理解程序中每一个细节的含义;最后,编写自己的程序,其中可以使用别人的程序(段)。4如果编译时提示errno没有定义,则加上#include1.2 Windows平台简单套接字编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单的客户机端和服

5、务器端的套接字编程。实验要求:(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。三、实验提示可以在http:/ 和http:/ 并发套接字编程实验类型:设计性 一、实验环境操作系统:Windows或Linux编程工具及集成开发环境:VC+或anjuta二、实验目的和要求实验目的:掌握Lin

6、ux或Windows平台上多线程、多进程或异步I/O的套接字编程。实验要求:完成下列任务之一(1)按照“7.4 多线程网络编程的例子”(叶树华,高志红.网络编程实用教程.北京:人民邮电出版社,2006)的叙述,在Windows上改写ftp客户端程序,使之支持多线程。(2)完成select或WSAEventSelect的一个程序,要求用多个客户端进行测试。附加内容:(1)分别在Linux和Windows平台上尝试各种并发套接字编程。(2)测试对于一个并发服务器,最多有几个客户机可以与之相连。三、实验提示(1)参考http:/ Visual Studio 6.0- Microsoft Visual

7、 Studio 6.0 Tools-Windiff)了解多线程的编程语句。(2)对于select的例子,服务器程序可以参考http:/ tcp_multiple_process_server上有多进程的例子。(5)多线程程序编译时,在Linux上要用-pthread选项;在Windows上需要更改设置: Project - Settings - 选择C/C+属性页, 在Category中选择Code Generation, 再在Use run-time library中选择Debug Multithreaded或者multithreaded。四、思考题1与传统串行程序设计方法相比,简要说明并发

8、程序设计方法的优点。2比较多线程、多进程和异步I/O这三种并发套接字编程方法的优缺点。3在多线程套接字编程中应注意哪些问题?1.4 MFC编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单MFC编程。实验要求:在Windows上,编写、编译1个包含文本显示框和对话框的程序。1.5 CSocket编程实验类型:设计性 一、实验环境:操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CAsyncSocket和CSocket的套接字编程。实验要求:完成对下面程序的简单修改

9、(比如登录、统计)。(1)教材上的点对点通信程序(参见“5.4 CAsyncSocket类的应用实例”)。(2)教材上的多点聊天程序。三、实验提示示例:在界面上添加一个“关闭”按钮。第一步,修改控件的属性。在弹出的对话框中修改与该控件功能相对应的成员函数的名字。按“OK”键后,出现该成员函数的定义,便可在其中添加相应的代码进行功能的控制。例如,我们这里希望该控件实现的是关闭整个对话框的功能,所以在成员函数体内添加如下的定义:CDialog:OnCancel();由此便可简单实现关闭按钮的功能。请参照上例,对原程序作些简单功能的修改。1.6 WinInet编程实验类型:设计性 一、实验环境:操作

10、系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握WinInet的套接字编程。实验要求:读懂并修改 “6.4 MFC WinInet类应用程序编程实例” 中ftp客户端程序。附加内容:读懂教师提供的http客户端程序,并加以修改,使之能下载文件及目录。三、实验提示1从http:/ 图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);bContinue=pFileFind-FindNextFile(); / 查找下一个文件1.7 MFC WinSock类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号