




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与技术学院网络计算设计与实现实验指导书实验一 SOCKET编程【试验环境】计算机、TCP/IP协议、VS2005【实验目的】1理解基本TCP/IP协议编程原理;2掌握如何利用SOCKET编写网络程序; 3掌握VS2005编程环境,多线程程序设计等。【实验要求】1 编写一个服务端的程序,接收来自客户端的访问请求,并返回相关信息;2 编写一个客户端程序,向服务端发送连接请求,并显示返回的结果;3 完善服务端程序,使它能够同时支持多个客户端的请求。【预备知识】l public Socket Accept ():为新建连接创建新的 Socket。 l public void Bind (EndPoint localEP):使 Socket 与一个本地终结点相关联。 l public void Close ():关闭 Socket 连接并释放所有关联的资源。l public void Connect (EndPoint remoteEP):建立与远程主机的连接。注意这个方法有重载方法。l public void Disconnect (bool reuseSocket):关闭套接字连接并是否允许重用套接字。 l public void Listen (int backlog):将 Socket 置于侦听状态。 l public int Receive (byte buffer):接收来自绑定的 Socket 的数据。注意这个方法有重载方法。 l public int ReceiveFrom (byte buffer,ref EndPoint remoteEP):接收数据报并存储源终结点。注意这个方法有重载方法。l public int Send (byte buffer):将数据发送到连接的 Socket。注意这个方法有重载方法。l public void SendFile (string fileName):将文件和可选数据异步发送到连接的 Socket。注意这个方法有重载方法。l public int SendTo (byte buffer,EndPoint remoteEP):将数据发送到特定终结点。注意这个方法有重载方法。l public void Shutdown (SocketShutdown how):禁用某 Socket 上的发送和接收。因为在网络传输时传输的数据都是二进制形式的(表现为字节数组),所以如果要传输类似于中文这样的双字节字符就需要在传输之前用合适的编码转换成字节数组,然后接收方按照发送方的编码将接收到字节数组转换成字符串。另外,注意接收数据的时候是先声明了一个字节数组,然后将接收到的数据保存到字节数组中,这个方法有个返回值表示实际接收了多少字节数据。【实验内容】l 实现一个服务器端的面向连接的Socket用于接收客户端的请求的话,有如下步骤:1. 首先根据IP地址和端口号实例化一个Socket,注意端口要要大于1024并且不要使用特殊端口号,要大于1024的原因是1024以下的端口号已经被指派了,而1433、3306这样的端口号已经被用作SQL Server和MySQL的默认端口号了,若指定为这些端口号容易发生冲突。2. 接着调用Bind()方法进行绑定,然后再调用Listen()方法用于监听,Listen()方法的参数用于指定监听的队列大小,也就是最多可容纳的等待接受的传入连接数。3. 再调用Accept()方法,调用这个方法之后会是程序处于阻塞状态,直至有客户端连接为止。当有客户端连接,这个方法将会返回一个新的Socket,使用这个Socket与客户端进行通讯。4. 使用Accept()方法返回的新Socket的Send()方法就可以向客户端发送数据了,还可以使用这个新Socket的Receive()接收客户端的数据。5. 最后终止与客户端会话时,注意使用ShutDown()方法关闭Socket连接,并且使用Close()方法释放所占用的资源。ServerSocket类代码SocketThread类代码l 使用Socket类编写客户端的Socket程序步骤如下:1. 首先指定远程主机和端口号实例化Socket类,注意连接的端口号一定要与服务器监听的端口号一致。2. 接着调用Connect()方法连接远程主机。3. 连接到远程主机之后就可以调用Send()方法向服务器发送请求了,然后可以调用Receive()方法接收服务器响应数据,注意如果是发送的类似于中文这样的双字节字符串的话,还需要按照服务器响应的字符串编码将字节数组转换成字符串。Clinet类代码实验二 HTML与XML应用【试验环境】配置有windows记事本的计算机设备【实验目的】1. 通过本实验,使学生能够了解并掌握XML Schema的定义方法及其用途2. 了解并掌握Schema的基本结构3. 了解并掌握Schema的数据类型4. 了解并掌握Schema的元素声明5. 了解并掌握Schema的属性声明【实验要求】1. 能参照示例XML文件进行对应的XML Schema定义2. 能利用Schema对XML文件进行验证【实验内容】(1)对以下“个人信息.xml”进行Schema定义(设Schema文件名为“个人信息.xsd”) XML实用培训教程张健飞27元科学出版社北京东皇城根北街16号100717 XML网页制作彻底研究陈会安47元中国铁道出版社北京市宣武区右安门西街8号100054(2)书写XML Schema定义头部 JinYanZhong XML File Schema Test (3)定义bookcaseType类型(添加在处) (4)定义bookcase元素(紧随bookcaseType类型定义之后) (5)定义bookType元素类型(里面引用定义authorType, pub-houseType) (6)定义authorType及pub-houseType元素类型 (7)在XMLSpy中新创建一个基于“个人信息.xsd”的XML文件,体会该方法的方便快捷 (8)在IE中打开带有Schema定义的“个人信息.xsd”,观察符合DTD定义及不符合Schema定义的XML文件显示实验三基于JXTA的P2P程序设计【试验环境】JXTA、Eclipse【实验目的】1理解JXTA的工作原理;2掌握如何利用JXTA编写网络程序; 3掌握Eclipse编程环境等。【实验要求】1. 编写一个简单的Hello World的P2P程序2. 在对等网环境下试验程序。【实验内容】l JXTA的配置第一次运行时,在DOS窗口显示Starting JXTA.,然后出现JXTA的配置界面。有Basic,Advanced,Rendezvous/Relays 1. Basic settings:填入Peer Name2. Advanced:在高级信息配置的面板中,可以指定错误跟踪到的级别,TCP和HTTP网络都设置成可用.默认的情况下,错误跟踪到的级别设置为user default,TCP和HTTP网络都设置成可用.如果处于防火墙或者NAT(网络地址转换)的后面,就必须要使用HTTP的设置了.TCP的设置在默认的情况下,使用9701端口.HTTP的设置在默认的情况下,使用9700端口.如果在防火墙或者NAT之后,就必须选中HTTP的Enabled框.3. Rendezvous/Relays:如果在防火墙或NAT之后一定要选中use a relay(Required if behind firewall/NAT).可单击按钮Download relay and redezvous lists去下载一些可供使用的TCP和HTTP rendezvous以前HTTP的网关列表.也可以直接输入IP地址和端口号,然后单击+按钮来添加Rendezvous或HTTP Relay到列表中.如果没有自动下载的功能,则按照下图进行配置程序同目录下会出现一个.jxta的文件夹,其说明如下:1. PlatformConfig文件:由JXTA的配置工具生成,是一个符合XML规范的文本文件.2. perties文件:定义了一些jxta的属性.3. cm目录:本地的缓冲目录,记录了发现的所有的PeerGroup的.在上例运行后,发现jxta-NetGroup和jxta-WorldGroup.4. pse目录:存放Peer用于安全认证的证书信息.HelloWorld类代码实验四基于.NET的Web Service程序设计【试验环境】计算机、VS2005【实验目的】1理解基本Web Service的基本编程框架;2熟练掌握VS2005编程环境; 3,多线程程序设计等。【实验要求】1 编写一个基于Web Service的应用;2 调试代码并测试运行结果;3 使用客户端对Web Service进行调用。【实验内容】l 在.NET中创建Web Service% WebService Language=C# class=SecurityWebService %通知编译器运行Web Service模式,还有c#类名using System;using System.Web.Services;SecurityWebService 应该继承了Web Service类的功能public class SecurityWebService : WebService将默认生成的服务进行改写运行该程序,并验证结果在运行的过程中查看Soap协议l 在Windows Forms 中调用Web服务新建Windows Forms 工程,注意上面服务不要关。项目-添加服务引用,地址中输入Web服务的地址,上例:http:/localhost:3765/WebSite1/Service.asmx,如果Web服务已经发布,请填写发布的地址。在Form上加入两个TextBox,一个Button,双击Button,编写事件。运行结果:实验五Google AppEngine程序设计【试验环境】计算机、AppEngine软件开发包、Python 2.5【实验目的】1理解云计算的基本理论知识;2掌握AppEngine软件包的基本使用; 3运用AppEngine进行简单的留言本的开发。【实验要求】1 下载AppEngine和Python2.5,;2 申请AppEngine帐号;3 编写程序,并在调试完毕后上传到服务器上。【预备知识】l Google App Engine用于让开发者进行网站应用程序开发或上传已经完成的应用。该开发包包含:一个web服务程序,用来模拟App Engine应用环境;一个本地版的数据存储方案;本地模拟的Google帐号集成;支持使用Api来分析URL和发送邮件。这个开发包可以运行在所有安装了Python2.5的机器上,并且支持Windows, Mac OS X 和Linux系统。l Google App Engine 应用通过CGI 标准协议与服务器通讯.这是一个标准的Http处理流程,Web服务接受到客户端发来的Get或Post请求,web服务器把请求转发给你的应用程序,由应用程序来处理要输出的内容。l webapp 应用包含三部分:一个或多个RequestHandler 类用来处理http请求和应答;一个WSGIApplication 实例,根据不同的URL请求,将处理交给不同的RequestHandler 类实例;一个主过程,通过CGI adaptor方式运行WSGIApplication【实验内容】l 创建一个简单的Request Handler 首先创建一个名为helloworld 的文件夹。除非特殊说明,以后所有关于这个应用程序的文件都将放在这个文件夹里面。在helloworld 文件夹里, 创建一个新文件helloworld.py,文件内容如下:class=prettyprintprint Content-Type: text/plainprint ”print Hello, world!这个Python 脚本处理一个request请求,并且设置一个Http header,输出一个空行和一段信息Hello, world!.创建配置文件:每个App Engine application 都包含一个名为app.yaml的配置文件。在这个配置文件中,可以设置具体的某个URL需要用哪个Python脚本来处理.现在,在helloworld 文件夹中,创建一个新的app.yaml 文件,输入以下内容:application: helloworldversion: 1runtime: pythonapi_version: 1handlers:- url: /.*script: helloworld.py这个配置文件描述了以下内容:这个应用程序的标识是helloworld. 这个标识需要和你在App Engine网站上创建的应用程序标识保持一致。在开发期间你可以使用任何你喜欢的名字,但是上传的时候,必须要和你在App Engine 注册的标识保持一致。现在,我们把它设置为helloworld.你的应用程序的版本号为1 ,如果你在上传应用之前修改了这个编号, App Engine 将会自动保留前一个版本的副本,以方便你可以在管理平台中将当前版本恢复成原来的版本。该应用运行在python 环境, 环境版本是1. 目前只有Python可选,将来会提供更多的运行环境和开发语言.所有符合正则表达式/.* (所有URL) 的请求,都由helloworld.py 脚本来处理.该配置文件使用YAML语法. 可以在本地App Engin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业废水处理技术与方法
- 工业机器人技术与发展趋势
- 工业废水处理技术创新研究
- 工业污染防治与绿色技术创新
- 工业机器人动力学设计与应用
- 工业绿色化转型策略与方案
- 工业节能与新能源技术应用
- 工业燃气管网的智能化管理研究
- 工业节能减排的先进技术与方法
- 工作中的自我激励方法探讨
- 期末试卷(试题)(含答案)-2024-2025学年一年级下册数学北师大版
- 陕西省府谷县国能矿业有限公司环保竣工验收检测报告公示
- 人教版高中政治必修四课本考点总结
- 第5章 自动驾驶仪系统《民航飞机自动飞行控制系统》
- DB4401-T 19-2019涉河建设项目河道管理技术规范-(高清现行)
- 五星级酒店投资预算
- 儿科常用药、用药特点及护理ppt
- 胎心监护以及判读
- 企业资产损失所得税税前扣除鉴证业务操作的指南
- 高等数学(下册)资料期末复习试题与答案
- 四冲程内燃机 机械原理课程设计说明书
评论
0/150
提交评论