东北大学-软件学院-15级-计算机网络实验报告

东北大学-软件学院-15级-计算机网络实验报告

ID:15252040

大小:843.50 KB

页数:15页

时间:2018-08-02

东北大学-软件学院-15级-计算机网络实验报告_第1页
东北大学-软件学院-15级-计算机网络实验报告_第2页
东北大学-软件学院-15级-计算机网络实验报告_第3页
东北大学-软件学院-15级-计算机网络实验报告_第4页
东北大学-软件学院-15级-计算机网络实验报告_第5页
资源描述:

《东北大学-软件学院-15级-计算机网络实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程编号:B080109003网络应用程序设计实践报告姓名学号班级软件1501指导教师费园园实践课程名称网络应用程序设计实践开设学期2016-2017第二学期开设时间第1周——第3周报告日期2017.03.17评定成绩评定人签字评定日期东北大学软件学院21.实践目的◦写出本次实践的目的,要求简洁清楚。(1)理解FTP通信原理;(2)学习使用Socket和多线程编写简单的FTP服务器;(3)学习使用Sokcet编写简单的FTP客户端;(4)理解HTTP通信原理;(5)学习使用Socket编写HTTP服务器;(6)学习使用Socket编写HTTP客户端;(7

2、)理解WebSocket的通信原理;(8)使用tomcat服务器搭建多人聊天室;2.预习内容◦写出本次实践过程中你所用到的知识;(1)FTP通信流程和通信命令FTP使用2个端口,一个数据端口和一个命令端口(也叫做控制端口)。这两个端口一般是21(命令端口)和20(数据端口)。(2)Socket编程利用TCP协议进行通信的两个应用程序,server和client交互过程:1)服务器创建一个ServerSocket,然后调用accept方法等待客户连接2)客户端程序创建一个socket并请求与服务器建立连接3)在连接的socket上进行单独的线程对话4)服务

3、器开始等待新的连接请求(多线程)(3)多线程编程为了保证FTP服务器能够同时处理多个客户端的请求,服务器为每个客户端分配一个线程。(4)HTTP通信原理http的请求格式http的应答模式14(1)WebSocket概念在WebSocketAPI,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket协议中,为我们实现即时服务带来了两大好处:1.Header互相沟通的Header是很小的-大概只有2Bytes2.ServerPush服务器的推送,服务器不再被动的接收到浏览

4、器的request之后才返回数据,而是在有新数据时就主动推送给浏览器。(2)WebSocket通信规则1)客户端发起请求,服务器端创建一个ChatAnnotation对象,自动运行start方法,将Websocket会话对象session作为入参。服务器端将当前ChatAnnotation对象加入到static的集合中。2)客户端onopen方法自动运行。3)客户端通过事件触发socket.send()方法,服务器端incoming方法自动运行,客户端发送的信息自动作为方法入参,服务器端可以遍历static的集合,把消息推送给所有的客户端。4)收到推送消

5、息后,客户端的onmessage方法自动运行。5)客户端如果推出,客户端的onclose方法自动运行,接着服务器端的end方法自动运行,在end方法中,从static的集合中删除当前ChatAnnotation对象。1.实践内容和实践过程1.编写简单的FTP客户端程序;编写简单的FTP服务器程序(1)实践内容本实验要求完成以下功能(使用PASV模式):功能名称功能说明优先级获取文件列表给定用户工作目录,获得文件列表,包括文件名称,文件大小,文件创建时间高文件上传上传文件到用户指定工作目录中高上传文件夹到用户指定工作目录中低支持断点续传低文件下载给定用户工

6、作目录,下载文件高给定用户工作目录,下载文件夹低14支持断点续传低(1)实现过程1)服务器创建一个ServerSocket,然后调用accept方法等待客户连接2)客户端程序创建一个socket并请求与服务器建立连接3)在连接的socket上进行单独的线程对话客户端通过发送命令来使服务器做出相应的反应。当发送PASV命令时候,服务器进入被动模式,并打开数据端口。客户端连接数据端口,两者之间即可以通过命令端口处理请求,数据端口传输数据,比如文件(夹)的上传、下载。上传:将文件写进DataOutputStream输出流之中,流中的数据通过数据端口传输至服务器

7、。服务器端同样从数据端口获取流DataInputStream,并将其输出为文件。此间需要传输文件的名字、大小等等参数。文件夹的上传与下载:类似于单文件操作。首先遍历文件夹,获取文件的fileList集合,发送文件夹名字,在另一端新建同名文件夹。循环发送所有文件,发送一个文件之后,另一端开始下载,下载完毕返回验证。开始发送第二个文件,继续下载,直至所有文件传输完毕。操作过程如流程图:4)服务器开始等待新的连接请求(多线程)下图为项目流程:14(1)关键技术开启被动模式:if(s.equals("PASV")){//如果是被动模式if(pasvSocket!

8、=null){pasvSocket.close();}try{pasvSocke

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。