201621123028《Java程序设计》第13周学习总结
作业13-网络
1.本周学习总结
以你喜欢的方式(思维导图、OneNote或其他)归纳总结多网络相关内容。
OneNote笔记:
2. 为你的系统增加网络功能(购物车、图书馆管理、斗地主等)-分组完成
为了让你的系统可以被多个用户通过网络同时使用,需要为你的系统增加网络功能。
2.1 简述你想为你的系统增加什么网络功能?设计思路是什么?
增加通过网络访问来实现购物车的相关功能(登录,注册,查看,添加等)
新建ThreadedEchoServer
类实现网络访问的能力,用户通过客户端能远程的访问购物车并进行相关操作。
2.2 系统通过网络传递了什么信息?信息的格式是什么?
系统通过网络传递了用户输入的相关要求。信息的格式是字节流InputStream
和OutputStream
实现保存,之后用字符流PrintWriter
来传送。
2.3 你的网络模块使用了TCP还是UDP技术?模块中的常用类是什么?
网络模块使用了TCP技术,常用类ServerSocket和Socket。
2.4 截图网络通讯部分的源代码与运行截图,并进行简单说明。
注意:如果不会编写客户端,可以使用telnet或者网络调试助手做客户端。
商城:
注册和购买:
退出:
3. 码云与PTA
3.1 统计本周完成的代码量
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
2 | 571 | 571 | 19 | 19 |
3 | 1029 | 458 | 20 | 1 |
4 | 1029 | 0 | 20 | 0 |
5 | 1359 | 330 | 25 | 5 |
6 | 2061 | 702 | 35 | 10 |
7 | 2653 | 592 | 42 | 7 |
8 | 3315 | 662 | 48 | 6 |
9 | 4171 | 856 | 54 | 6 |
10 | 4569 | 398 | 59 | 5 |
11 | 4887 | 318 | 70 | 11 |
12 | 5506 | 619 | 78 | 8 |
13 | 5976 | 470 | 82 | 4 |
14 | 5976 | 0 | 82 | 0 |
15 | 6451 | 475 | 85 | 3 |
需要将每周的代码统计情况融合到一张表中。
选做:4. 网络学习指导
1. 网络基础
1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同?
时间和TTL不一样,就是网络延时和TTL是不一样的,说明电脑到百度服务器然后百度服务器回应的时间比电脑到集美大学的计算机工程学院网站然后网站回应给电脑的时间长。TTL即生存时间,数据包在网络中跳跃的节点数据,为了防止数据包在网络上无限的循环。
原因的话,因为主机到两个不同发网站经过的跃点数是不一样的。如图:
1.2 telnet bbs.newsmth.net,上面这条命令连接的是远程主机的什么端口号?
telnet的端口是23.
1.3 telnet cec.jmu.edu.cn 80,尝试回答:你从屏幕看到一些什么内容?返回的内容是不是cec.jmu.edu.cn的主页内容?尝试使用GET /index HTTP/1.0命令,会返回什么?详见实验任务书题目1。
没有东西,使用了GET /index HTTP/1.0命令返回了网页的源代码。
1.5 编写网络程序必不可少的几个信息是什么?
IP地址,端口号,域名和协议。
2. 编写TCP客户端程序
2.1 参照SocketTest.java编写一个简单的连接远程服务器小程序Client.java,可以接收并显示服务器发送的信息。启动时需要首先在控制台指定远程主机IP与端口号。(截图,出现自己学号)。
2.2 将程序中的网址改成bbs.newsmth.net,端口号改为23,再次观察返回结果?尝试执行telnet bbs.newsmth.net 23,对比返回结果。
执行telnet bbs.newsmth.net 23不会出现乱码,而前者会出现乱码,且没有颜色。