研究生课程-网络编程.doc_第1页
研究生课程-网络编程.doc_第2页
研究生课程-网络编程.doc_第3页
研究生课程-网络编程.doc_第4页
研究生课程-网络编程.doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1 Linux平台简单套接字编程实验类型:设计性 一、实验环境操作系统:Linux编程工具及集成开发环境:gcc, vi或anjuta二、实验目的和要求实验目的:掌握Linux平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在Linux上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。选择TCP或UDP方式之一。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。三、实验提示1可以从/dlg/HomeTeaching_files/download/source_code/socket/v3.linux.dist.tar.Z下载可供参考的程序。解压采用“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 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先找到包含主函数main()的文件进行编译和连接,如果发现某些被调用函数没有找到,再把包含这些被调用函数的文件一起编译。多个文件一起编译的办法有三个:一是gcc file1.c file2.c , 二是把包含被调用函数的文件用#include “file1.c”的方式包含在主函数文件中,三是使用anjuta建立一个工程,和VC+很类似。3首先,通过阅读、编译、连接和运行别人的程序来学习编程;其次,尝试局部修改别人的程序来理解程序中每一个细节的含义;最后,编写自己的程序,其中可以使用别人的程序(段)。4如果编译时提示errno没有定义,则加上#include1.2 Windows平台简单套接字编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单的客户机端和服务器端的套接字编程。实验要求:(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。附加内容:编写聊天程序,即客户机端程序和服务器端程序之间都能够多次发送消息给对方,也能够多次接收对方发送的消息。三、实验提示可以在/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/daytime_tcp_server_client/ 和/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/time_udp_server_client/分别提供的TCP和UDP程序的基础上改写。1.3 并发套接字编程实验类型:设计性 一、实验环境操作系统:Windows或Linux编程工具及集成开发环境:VC+或anjuta二、实验目的和要求实验目的:掌握Linux或Windows平台上多线程、多进程或异步I/O的套接字编程。实验要求:完成下列任务之一(1)按照“7.4 多线程网络编程的例子”(叶树华,高志红.网络编程实用教程.北京:人民邮电出版社,2006)的叙述,在Windows上改写ftp客户端程序,使之支持多线程。(2)完成select或WSAEventSelect的一个程序,要求用多个客户端进行测试。附加内容:(1)分别在Linux和Windows平台上尝试各种并发套接字编程。(2)测试对于一个并发服务器,最多有几个客户机可以与之相连。三、实验提示(1)参考/dlg/HomeTeaching_files/download/source_code/socket/mfc/WinInet/mtFtp.rar中是把upload功能改成多线程的例子,通过Windiff(Microsoft Visual Studio 6.0- Microsoft Visual Studio 6.0 Tools-Windiff)了解多线程的编程语句。(2)对于select的例子,服务器程序可以参考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_synchronous_io_server/客户机程序可以参考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_client(3)对于WSAEventSelect的例子,服务器程序可以参考/dlg/HomeTeaching_files/download/source_code/socket/select客户机程序可以参考/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/tcp_client(4)在/dlg/HomeTeaching_files/download/source_code/socket/basic_socket/echo_udp_tcp/ tcp_multiple_process_server上有多进程的例子。(5)多线程程序编译时,在Linux上要用-pthread选项;在Windows上需要更改设置: Project - Settings - 选择C/C+属性页, 在Category中选择Code Generation, 再在Use run-time library中选择Debug Multithreaded或者multithreaded。四、思考题1与传统串行程序设计方法相比,简要说明并发程序设计方法的优点。2比较多线程、多进程和异步I/O这三种并发套接字编程方法的优缺点。3在多线程套接字编程中应注意哪些问题?1.4 MFC编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握Windows平台上简单MFC编程。实验要求:在Windows上,编写、编译1个包含文本显示框和对话框的程序。1.5 CSocket编程实验类型:设计性 一、实验环境:操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CAsyncSocket和CSocket的套接字编程。实验要求:完成对下面程序的简单修改(比如登录、统计)。(1)教材上的点对点通信程序(参见“5.4 CAsyncSocket类的应用实例”)。(2)教材上的多点聊天程序。三、实验提示示例:在界面上添加一个“关闭”按钮。第一步,修改控件的属性。在弹出的对话框中修改与该控件功能相对应的成员函数的名字。按“OK”键后,出现该成员函数的定义,便可在其中添加相应的代码进行功能的控制。例如,我们这里希望该控件实现的是关闭整个对话框的功能,所以在成员函数体内添加如下的定义:CDialog:OnCancel();由此便可简单实现关闭按钮的功能。请参照上例,对原程序作些简单功能的修改。1.6 WinInet编程实验类型:设计性 一、实验环境:操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握WinInet的套接字编程。实验要求:读懂并修改 “6.4 MFC WinInet类应用程序编程实例” 中ftp客户端程序。附加内容:读懂教师提供的http客户端程序,并加以修改,使之能下载文件及目录。三、实验提示1从/dlg/HomeTeaching_files/download/source_code/socket/WinInet/下载babyftp.zip和WinInet.rar。前者解压后是一个无需安装的ftp服务器,后者是提供的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);bContinue=pFileFind-FindNextFile(); / 查找下一个文件1.7 MFC WinSock类的编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CAsyncSocket和CSocket的套接字编程。实验要求:完成下列之一:(1)基于 “5.4 CAsyncSocket类的应用实例”的点对点通信程序,完成采用CAsyncSocket的多点聊天程序。(2)基于教材上的多点聊天程序,实现登录功能和统计功能。1.8 HTTP协议应用编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握CHtmlView编程。实验要求:基于“9.3 Web浏览器应用程序实例”中的浏览器程序,把最近访问过的网页和文件链接写入一个html文件中。可选内容:对最近访问过的网页和文件进行LRU排序。1.9 电子邮件协议应用编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:VC+二、实验目的和要求实验目的:掌握SMTP和POP3编程。实验要求:基于教材上的SMTP发送和POP3接收程序,把发送和接收功能合到一个程序中。1.10 HTML网页编写实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:任一文本编辑工具和网页开发工具二、实验目的和要求实验目的:掌握基本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三、实验提示以下提供了一个简单例子RESUMEPersonal ProfileNameTomSex男Date of BirthJune 25, 1983Place of Birth浙江省杭州市Mail Address杭州市下沙高教园区东区学正街18号 310018Email A Objective求职目标 - 通信或网络公司工程师 个人优势在通信原理、计算机网络等专业课程中获得优秀成绩(请参考成绩单)曾担任学生会学术部部长,承担多个活动的组织工作有网络工程师证书具有多个项目开发经验作为刚刚毕业的本科生,有朝气和干劲Date of Availability: From June 2008 on实际效果如下:1.11 客户端Web编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:任一文本编辑工具,或Dreamweaver等二、实验目的和要求实验目的:掌握基本的JavaScript编程。实验要求:完成一个包含JavaScript的html网页,要求(1)网页上能通过text box输入学生姓名,通过radio box选择性别,通过select输入班级,通过checkbox输入所选课程。(2)按“确定”键把输入的学生信息保存并显示在当前页面上,按“重置”键清除当前所选,按“保存”键把学生信息保存到硬盘文件中。(3)自定义一个学生信息对象,命名为student,对象有如下属性:name表示姓名,sex表示性别,class表示班级,course表示课程。(4)网页标题栏应显示该网页的功能;网页的最下方应显示制作者的相关信息,比如: Copyright2009 版权所有 信息与电子工程学院网络工程专业0601班XXX E-mail:(你的带有链接的Email地址) 学 号:20000602020XXX(你的学号) TEL:86-27-88045615(你的联系电话)三、实验提示下面是满足部分实验要求的参考例子。 web编程技术实验,JavaScript应用 var s;function student() this.check=function() lesson=document.form_student.lesson_1;this.course=;for (i = 0; ilesson.length; +i)if (lessoni.checked)this.course=this.course + lessoni.value + ;alert(姓名:++;性别:+this.sex+;班级:+this.class1+;已经选择的课程:+this.course); function show() s=new student(); =document.getElementById(name_box).value;if(form_student.female.checked=1) s.sex=female; else s.sex=male; s.class1=window.document.form_student.pulldown_1.optionswindow.document.form_student.pulldown_1.selectedIndex.value; s.check(); function savetofile()var fso,f1; fso = new ActiveXObject(Scripting.FileSystemObject); f1 = fso.CreateTextFile(c:savefile.txt, true); var a = 姓名:++;性别:+s.sex+;班级:+s.class1+;已经选择的课程:+s.course;f1.Write(a); f1.Close(); JavaScript客户端编程学生选课记录系统请输入姓名:请选择性别:男女请在下拉菜单栏中选择您的班级:网络0601 网络0602 网络0701 网络0702 请选择你选修的课程:网络编程技术组网工程微机原理与接口技术网络管理 1.12 XML编程实验类型:设计性 一、实验环境操作系统:Windows编程工具及集成开发环境:任一文本编辑工具和网页开发工具二、实验目的和要求实验目的:掌握XML文件的编辑和显示方法。实验要求:编写一个包含个人简历的XML文件,然后对该XML文档分别用CSS、XSL、数据岛、DOM技术,在IE中显示其结果。三、实验提示(1)XML文件及CSS文件例子KH-0165任建兴重庆DD-345KH-0166马辛北京DD-346KH-0233上海东方旅游公司上海DD-210customers display:block;margin:10pt;position:absolute;left:70pt; top:30pt;border-style:ridge;border-color:lime;border-width:thickcustomer display:block;margin:10pt;display:list-item;list-style-type:decimal;border-style:solid;border-color:red;border-width:thin;width:400id,name, customeraddress, orders, kind display:inlineid width:150name width:250customeraddress width:200orders width:150说明:CSS格式请参考/css/(2)XML文件及XSL文件例子CD-1023盛夏的果实莫文蔚上海音像12.50CD-1024冷酷到底羽泉上海音像17.82.1 font-weight:bold;font-size:12pt.2 font-size:10.5pt编号名称演唱者出品公司价格(3)XML文件及XML数据岛文件例子HTML数据岛技术 姓 名 出生年月 电话号码 其中被使用的ex5-12.xml是 李 明 06/10/1980 99999999 林 琳 12/12/1970 88888888 (4)XML文件及DOM例子var xmlDoc=new ActiveXObject(Microsoft.XMLDOM)/creates an instance of the Microsoft XML parserxmlDoc.async=false /如果为true,程序不论xml文件是否全部载入就开始运行下面程序xmlDoc.load(note.xml)nodes=xmlDoc.documentElement.childNodesa1.innerText=nodes.item(0).texta2.innerText=nodes.item(1).texta3.innerText=nodes.item(2).texta4.innerText=nodes.item(3).textW3Schools Internal NoteTo:From:其中被使用的note.xml是 Tove Jani Reminder Dont forget me this weekend 1.13 Web开发/应用环境的安装实验类型:操作性 一、实验环境操作系统:Windows编程工具及集成开发环境:任一文本编辑工具二、实验目的和要求实验目的:掌握JSP开发和运行环境的安装和基本的JSP编程。实验要求:(1)按照“第2章 Web应用环境构建技术“的内容,安装java开发环境,JSP应用服务器,MS SQL2000数据库等。把基本步骤和测试结果写入实验报告。(2)按照第3章的内容,安装网上书店(bookshop)系统。把基本步骤和测试结果写入实验报告。(3)学习第7章,一边学习JSP语法,一边对例程进行上机测试。把测试成功的例子及结果写入实验报告。三、实验提示(0)注意点 如果计算机无法上网,请先设置其IP地址。IP是10.20.3.桌号,掩码,网关与IP同,DNS是和。 计算机上装有还原卡,你安装的软件在计算机重新启动时会因为恢复原状而被自动删除,因此你在装完软件重启的时候要按住F10键,使得前次安装内容能够保存下来,如果出现要求密码输入的窗口,可按ESC键。 本次实验所需软件包可以从 /network_programming/下载。(1)安装j2sdk 从/javase/downloads/index.jsp下载jdk(比如jdk-6-windows-i586.exe)。 建议把sdk及后面的tomcat等都安装到一个统一的目录下,比如d:/server/,这样方便日常管理配置和将来移植到别的服务器上去。比如把jdk安装到D:serverJavajdk1.6.0目录下,把jre安装到D:serverJavajre1.6.0目录下。 配置。操作:我的电脑(右键)-属性-高级-环境变量。设定环境变量为:n 新建变量JAVA_HOME,变量值:D:serverJavajdk1.6.0n 新建变量CLASSPATH,变量值:.;D:serverJavajdk1.6.0libdt.jar; D:serverJavajdk1.6.0libtools.jar(注意:点号不能省略,表示当前目录)n 编辑编辑变量PATH,在后面加上;%JAVA_HOME%bin(注意:要有分号隔开) 到这里,jdk安装完毕,用命令简单测试一下:java-version可以用下面的HelloWorld.java程序测试一下。public class HelloWorldpublic static void main(String args)System.out.println(Hello World!n);System.exit(0);然后进行编译和运行。javac HelloWorld.java /编译后产生HelloWorld.classjava HelloWorld /运行显示“Hello World!”说明已经成功安装jdk。如果编译或运行中出现问题:首先确认是否拼写错误,其次用”path”, “echo $CLASSPATH”(或者echo %CLASSPATH%)等确认路径是否正确。(2)安装tomcat 从/下载。jre(jdk)一定要在tomcat之前安装。安装路径为D:servertomcat5.5。可以设定用户名admin,密码123456。Tomcat的目录结构如下: 安装完,添加一个系统变量TOMCAT_HOME,变量值为 D:servertomcat5.5 测试tomcat,在IE输入http:/localhost:8080/或:8080/,正常工作会看见一只小猫的页面。 启动tomcat(通过点击Monitor Tomcat),准备以下代码的jsp文件,以便测试。JSP测试页面%out.println(Hello World! );%保存为test.jsp。在D:servertomcat5.5webappsROOT下新建一个文件夹myjsp,并把test.jsp放在里面。在IE中输入http:/localhost:8080/myjsp/test.jsp,如果显示Hello World!说明已经成功了。(3)安装sql server 选择安装SQL Server 2000开发版。SQL Server 2000开发版供程序员用来开发将SQL Server 2000用作数据存储的应用程序。虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,但是只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。 选择“安装SQL Server 2000组件”选项。 选择“安装数据库服务器”。 在“服务帐户”对话窗口中,选“使用本地系统帐户”。不建议“使用域用户帐户”,以避免以后WINDOWS的登录用户名和密码修改了,SQL SERVER2000不能正常启动,另外域用户帐户管理相对复杂些。 选择“混合模式”,不建议用“Windows身份验证模式”,该模式管理相对复杂些。如果您是初次接触使用SQL Server2000的话,可以将该密码设置为空,以方便登录。熟练以后再设置sa的密码,设置的密码请不要忘记,因为基于SQL SERVER2000各种应用系统在安装或使用过程中往往需要sa的密码。 安装后,可以通过“SQL Server服务管理器”程序来启动SQL Server。(4)安装“网上书店“实例 打开SQL Server 2000的企业管理器。点击“还原数据库”。 选择需要还原的数据库 创建数据源,n 点击“控制面板管理工具数据源(ODBC)”,“系统DSN”选项卡 (注意要添加系统DSN,不是用户DSN)。n 点击单击“添加”按钮,弹出“创建数据源”对话框。n 选择 SQL Server,单击“完成”按钮。n “创建SQL Server的新数据源”窗口,输入数据源名称:bookshoplk。在服务器文本框输入:(lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论