西农java实习八_网络编程

西农java实习八_网络编程

ID:33417795

大小:2.12 MB

页数:22页

时间:2019-02-25

西农java实习八_网络编程_第1页
西农java实习八_网络编程_第2页
西农java实习八_网络编程_第3页
西农java实习八_网络编程_第4页
西农java实习八_网络编程_第5页
资源描述:

《西农java实习八_网络编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实用标准文案信息工程学院实验报告的内容与格式按任课教师的要求书写。《Java语言程序设计》实验报告学院:信息学院班级:**********姓名:pprp学号:**********3成绩:一、实习目标(1)描述掌握Socket通信(2)掌握UDP数据报通信(3)掌握多线程网络编程二、实验过程任务一:掌握Socket类的使用在两台机器上分别运行以下服务器端程序和客户端程序,观察程序的多次运行结果,回答问题。精彩文档实用标准文案观察服务器端和客户端的输出,说明添加注释的每行代码作用。截图:两次服务器与

2、客户端的输出,可以发现两次所用到的端口是随机生成的是不一致的。代码如下:精彩文档实用标准文案问题回答:S1:实例化ServerSocket对象,并指定服务器中的端口为2018S2:ServerSocket对象的accept()方法示例化Socket对象,并阻塞进程,等待用户端的连接精彩文档实用标准文案S3:打印服务器端套接字连接的IP地址S4:打印服务器端套接字连接的远程端口S5:得到服务器端套接字绑定的本地IP地址及端口S6:打印服务器端套接字绑定的本地端口C1:实例化Socket对象C2:将

3、InetSocketAddress类实例化的对象中所包含的服务器主机IP及端口,调用connect()方法,传入至Socket类中,与服务器进行连接C3:打印用户端套接字连接的IP地址C4:打印用户端套接字连接的远程端口C5:获取用户端套接字绑定的本地IP地址及端口C6:打印用户端套接字绑定的本地端口任务二:使用TCP协议实现文件传送在当前项目的根目录新建两个文件夹:“source”和“destination”,在source中放置两个文件:“cartoon.jpg”以及“file.docx”。

4、这两个文件见实习附件。实现一个服务器端程序Server,服务器端可以通过文件流直接读取文件内容。实现一个客户端程序Client,客户端程序运行后,提示用户输入文件名。如,用户在客户端输入“file.docx”并回车,则程序通过TCP协议读取服务器端的数据,将该文件传送一个副本保存在“destination”目录中。结果截图:精彩文档实用标准文案精彩文档实用标准文案代码截图:Server.java精彩文档实用标准文案Client.java精彩文档实用标准文案精彩文档实用标准文案说明:本次实验遇到的

5、最大的困难就是本题,通过询问老师得到解决。问题描述:客户端向服务器发送一个文件名,服务器端通过文件流将文件读入内存,然后再用网络流输出到客户端,客户端接受到文件流然后用文件流保存到本地。在客户端接受网络流的时候会发现客户端程序进入死循环,无法进行下一个文件的读写。问题出现原因:由于客户端通过网络流进行读写的时候与文件读写是不一样的,不会出现读到文件尾部的情况,而是会一直等待从而造成死循环。问题解决方法:设置一个文件末尾标记进行读写,如果读取到该标记则说明结束,break断开死循环。任务三:现有一

6、个Triangle(三角形)类:l思考:为什么Triangle需要实现Serializable接口?l服务器用于接收客户端传来的Triangle对象,计算三角形面积,将计算结果传给客户端。l连接服务器之前:精彩文档实用标准文案l点击“连接服务器”实现连接,点击“send”提交计算请求:l基本要求:使用ServerSocket类和Socket类实现单线程对象的发送与接收。实现计算结果的发送与接收。服务器端可以不使用界面。效果截图:精彩文档实用标准文案代码截图:Triangle.java精彩文档实用

7、标准文案TriangleFrame.java精彩文档实用标准文案精彩文档实用标准文案精彩文档实用标准文案TCPServcer.java精彩文档实用标准文案TCPClient.java精彩文档实用标准文案说明:需要先启动server服务器端再启动客户端,再代码构建的时候应该分两部分:1、链接部分,生成socket,serversocket对象,并连接起来。2、处理部分,interact进行交互完成数据传输。加入界面以后由于需要在点击链接按钮以后再进行连接,所以要单独写一个用来构造的函数。精彩文档实

8、用标准文案任务四:使用UDP数据报传输数据l用UDP数据报传输数据,实现两个终端的消息通信l使用Java命令分别运行服务器端和客户端l基本要求:实现两个终端UDPA和UDPB,UDPB向UDPA发送“TIME”命令,UDPA接收到命令后,将当前UDPA的系统时间发送给UDPB。UDPB将该时间输出。结果截图:代码截图:UDPA.java精彩文档实用标准文案精彩文档实用标准文案UDPB.java精彩文档实用标准文案说明:应该先运行UDPB再运行UDPA,因为UDPB是接受端,但UDPA是发送端,应

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

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

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