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存在编码问题,有乱码