学号:201621123032 《Java程序设计》第13周学习总结

时间:2021-07-31 19:17:44

1:本周学习总结

学号:201621123032 《Java程序设计》第13周学习总结

2:为你的系统增加网络功能(购物车、图书馆管理、斗地主等)-分组完成

2.1:简述你想为你的系统增加什么网络功能?设计思路是什么?

创建了一个服务器监听8080端口,通过网络助手客户端进行访问,就创建一个Socket对象,客户端进行功能选择,服务器通过客户端的选择返回相应的服务。运用多线程技术,可以使多个客户端同时进行访问。

2.2.:系统通过网络传递了什么信息?信息的格式是什么?

传递了I/O流,使用getInputStream,.getOutputStream来获取或者输入字节流,用Scanner,PrintWriter包装起来进行传输

2.3:你的网络模块使用了TCP还是UDP技术?模块中的常用类是什么?

使用TCP技术。
模块中常用的类是ServerSocket类,Socket类,Thread类。

2.4:截图网络通讯部分的源代码与运行截图,并进行简单说明。

学号:201621123032 《Java程序设计》第13周学习总结
初始化图书馆,创建服务器监听8080端口。一有客户进行访问就启动一个线程。

学号:201621123032 《Java程序设计》第13周学习总结
学号:201621123032 《Java程序设计》第13周学习总结
客户端发送请求,服务器就返回相应的方法,启动线程任务,Thread类的run方法。

运行视频:
学号:201621123032 《Java程序设计》第13周学习总结

注意:如果不会编写客户端,可以使用telnet或者**网络调试助手*做客户端。

3:码云与PTA

3.1: 统计本周完成的代码量

需要将每周的代码统计情况融合到一张表中。
学号:201621123032 《Java程序设计》第13周学习总结

周次 总代码量 新增加代码量 总文件夹 新增加文件夹
1 114 114 11 11
2 520 406 16 6
3 1089 569 22 6
5 1425 336 29 7
6 1819 394 31 2
7 2987 1168 54 23
8 5437 2450 79 25
9 5695 258 84 5
10 6680 985 102 18
11 6935 255 111 9
12 7401 466 123 12
13 8899 1498 141 18
14 9382 483 146 5

学号:201621123032 《Java程序设计》第13周学习总结

4:网络学习指导(以下作业内容均为选做)

4.1: 网络基础

1:比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同?

学号:201621123032 《Java程序设计》第13周学习总结
不同:访问ping cec.jmu.edu.cn比访问ping www.baidu.com耗时短。因为ping www.baidu.comIP地址所在地是广东省广州市;ping cec.jmu.edu.cn地址所在地是福建省厦门市;ping通本地教育网自更快些。

2:telnet bbs.newsmth.net,上面这条命令连接的是远程主机的什么端口号?

23号端口
学号:201621123032 《Java程序设计》第13周学习总结

3:telnet cec.jmu.edu.cn 80,尝试回答:你从屏幕看到一些什么内容?返回的内容是不是cec.jmu.edu.cn的主页内容?尝试使用GET /index HTTP/1.0命令,会返回什么?详见实验任务书题目1。

看不到任何内容
学号:201621123032 《Java程序设计》第13周学习总结
尝试使用GET /index HTTP/1.0命令:
学号:201621123032 《Java程序设计》第13周学习总结

4启动ConnectionWatcher, 然后启动若干个可以联网的程序(如QQ, telnet,浏览器等),查看本机上有什么程序联网,使用了什么端口?QQ占用了什么端口和那些远程IP进行交互,这些IP分布地在那里?使用了什么协议进行通信?

学号:201621123032 《Java程序设计》第13周学习总结

QQ使用的是80端口,IP:183.232.103.219 ,广东省深圳市
360浏览器使用的是80端口,IP:180.163.251.158,中国上海市

5:编写网络程序必不可少的几个信息是什么?

IP及其端口;协议

4.2:编写TCP客户端程序

1:参照SocketTest.java编写一个简单的连接远程服务器小程序Client.java,可以接收并显示服务器发送的信息。启动时需要首先在控制台指定远程主机IP与端口号。(截图,出现自己学号)。

学号:201621123032 《Java程序设计》第13周学习总结

学号:201621123032 《Java程序设计》第13周学习总结

学号:201621123032 《Java程序设计》第13周学习总结

2: 将程序中的网址改成bbs.newsmth.net,端口号改为23,再次观察返回结果?尝试执行telnet bbs.newsmth.net 23,对比返回结果。

学号:201621123032 《Java程序设计》第13周学习总结
二者返回的内容大致相同,但是因为eclipse存在编码问题,所以有乱码

4.3:ServerSocket与TCP服务器

2:多线程MenuServer(截取关键代码证明你这个是多线程服务器,请使用多个telnet连接测试)。

学号:201621123032 《Java程序设计》第13周学习总结

学号:201621123032 《Java程序设计》第13周学习总结

学号:201621123032 《Java程序设计》第13周学习总结