1:本周学习总结
2:为你的系统增加网络功能(购物车、图书馆管理、斗地主等)-分组完成
2.1:简述你想为你的系统增加什么网络功能?设计思路是什么?
创建了一个服务器监听8080端口,通过网络助手客户端进行访问,就创建一个Socket对象,客户端进行功能选择,服务器通过客户端的选择返回相应的服务。运用多线程技术,可以使多个客户端同时进行访问。
2.2.:系统通过网络传递了什么信息?信息的格式是什么?
传递了I/O流,使用getInputStream,.getOutputStream来获取或者输入字节流,用Scanner,PrintWriter包装起来进行传输
2.3:你的网络模块使用了TCP还是UDP技术?模块中的常用类是什么?
使用TCP技术。
模块中常用的类是ServerSocket类,Socket类,Thread类。
2.4:截图网络通讯部分的源代码与运行截图,并进行简单说明。
初始化图书馆,创建服务器监听8080端口。一有客户进行访问就启动一个线程。
客户端发送请求,服务器就返回相应的方法,启动线程任务,Thread类的run方法。
运行视频:
注意:如果不会编写客户端,可以使用telnet或者**网络调试助手*做客户端。
3:码云与PTA
3.1: 统计本周完成的代码量
需要将每周的代码统计情况融合到一张表中。
周次 | 总代码量 | 新增加代码量 | 总文件夹 | 新增加文件夹 |
---|---|---|---|---|
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 |
4:网络学习指导(以下作业内容均为选做)
4.1: 网络基础
1:比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同?
不同:访问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号端口
3:telnet cec.jmu.edu.cn 80,尝试回答:你从屏幕看到一些什么内容?返回的内容是不是cec.jmu.edu.cn的主页内容?尝试使用GET /index HTTP/1.0命令,会返回什么?详见实验任务书题目1。
看不到任何内容
尝试使用GET /index HTTP/1.0命令:
4启动ConnectionWatcher, 然后启动若干个可以联网的程序(如QQ, telnet,浏览器等),查看本机上有什么程序联网,使用了什么端口?QQ占用了什么端口和那些远程IP进行交互,这些IP分布地在那里?使用了什么协议进行通信?
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与端口号。(截图,出现自己学号)。
2: 将程序中的网址改成bbs.newsmth.net,端口号改为23,再次观察返回结果?尝试执行telnet bbs.newsmth.net 23,对比返回结果。
二者返回的内容大致相同,但是因为eclipse存在编码问题,所以有乱码