201621123040《Java程序设计》第13周学习总结
1.本周学习总结
2.为你的系统增加网络功能(购物车、图书馆管理、斗地主等)-分组完成
2.1简述你想为你的系统增加什么网络功能?设计思路是什么?
- 创建服务器端端口(3333),当用户以客户端身份访问时就可以创建一个新的套接字对象,服务器就可以向用户发送图书馆相关信息;实现多个用户同时访问此服务器,就要用到多线程网络技术,通过
Thread
类,实现Runnable
接口。
2.2系统通过网络传递了什么信息?信息的格式是什么?
- 系统通过网络传递I/O流,使用字节流将其存储,后通过
Scanner
PrintWriter
将其包装传输
2.3你的网络模块使用了TCP还是UDP技术?模块中的常用类是什么?
- 网络模块使用的是TCP技术,模块中常用到的类是
ServerSocket
类、Socket
类、Thread
类
2.4截图网络通讯部分的源代码与运行截图,并进行简单说明。
- 用户访问我们创建的3333端口的服务器端,启动线程,实现访问
3.码云与PTA
3.1统计本周完成的代码量
|周次||总代码量||新增代码量||总文件数||新增文件数|
:---😐:---😐:---😐:---😐:---😐:---😐:---😐:---😐:---😐:---😐:---😐
|第一周||189||189||10||10|
|第二周||304||304||9||9|
|第三周||557||557||10||10|
|第四周||621||621||8||8|
|第五周||326||326||7||7|
|第六周||972||972||12||12|
|第七周||338||338||4||4|
|第八周||379||379||6||6|
|第九周||492||492||5||5|
|第十周||473||473||6||6|
|第十一周||527||527||10||10|
|第十二周||661||661||7||7|
|第十三周||544||544||8||8|
4.网络学习指导(以下作业内容均为选做)
4.1网络基础
4.1.1比较ping www.baidu.com
与ping cec.jmu.edu.cn
,分析返回结果有何不同?为什么会有这样的不同?
-
访问
ping cec.jmu.edu.cn
耗时短于访问ping www.baidu.com
-
ping www.baidu.com
IP地址所在地:广东省广州市;ping cec.jmu.edu.cn
地址所在地:福建省厦门市;ping通本地教育网自然就更快些
4.1.2telnet bbs.newsmth.net
,上面这条命令连接的是远程主机的什么端口号?
- 端口号:23
4.1.3telnet cec.jmu.edu.cn 80
,尝试回答:你从屏幕看到一些什么内容?返回的内容是不是cec.jmu.edu.cn的主页内容?尝试使用GET /index HTTP/1.0
命令,会返回什么?详见实验任务书题目1。
- 空空白白
4.1.3启动ConnectionWatcher, 然后启动若干个可以联网的程序(如QQ, telnet,浏览器等),查看本机上有什么程序联网,使用了什么端口?QQ占用了什么端口和那些远程IP进行交互,这些IP分布地在那里?使用了什么协议进行通信?
- QQ使用的是80端口,IP:183.232.103.219 ,来自广东省深圳市
- 网易云音乐使用的是80端口,IP:223.252.199.10,来自浙江省杭州市
- 360浏览器使用的是80端口,举例IP:180.163.251.158,来自中国上海市
4.1.4编写网络程序必不可少的几个信息是什么?
- IP及其端口;协议
4.2编写TCP客户端程序
4.2.1参照SocketTest.java编写一个简单的连接远程服务器小程序Client.java,可以接收并显示服务器发送的信息。启动时需要首先在控制台指定远程主机IP与端口号。(截图,出现自己学号)。
4.2.2将程序中的网址改成bbs.newsmth.net,端口号改为23,再次观察返回结果?尝试执行telnet bbs.newsmth.net 23,对比返回结果。
- 二者返回的内容大致相同,不同的是eclipse存在编码问题,有乱码