201621123040《Java程序设计》第13周学习总结

1.本周学习总结

1123103-20171220172415975-1812501117.png

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

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

  • 创建服务器端端口(3333),当用户以客户端身份访问时就可以创建一个新的套接字对象,服务器就可以向用户发送图书馆相关信息;实现多个用户同时访问此服务器,就要用到多线程网络技术,通过Thread类,实现Runnable接口。

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

  • 系统通过网络传递I/O流,使用字节流将其存储,后通过Scanner PrintWriter将其包装传输

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

  • 网络模块使用的是TCP技术,模块中常用到的类是ServerSocket类、Socket类、Thread

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

  • 用户访问我们创建的3333端口的服务器端,启动线程,实现访问

1123103-20171220175826975-1398100594.png

1123103-20171220175807412-252753421.png

3.码云与PTA

3.1统计本周完成的代码量

周次总代码量新增代码量总文件数新增文件数
第一周1891891010
第二周30430499
第三周5575571010
第四周62162188
第五周32632677
第六周9729721212
第七周33833844
第八周37937966
第九周49249255
第十周47347366
第十一周5275271010
第十二周66166177
第十三周54454488

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

4.1网络基础

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

  • 访问ping cec.jmu.edu.cn耗时短于访问ping www.baidu.com

  • ping www.baidu.comIP地址所在地:广东省广州市;ping cec.jmu.edu.cn地址所在地:福建省厦门市;ping通本地教育网自然就更快些

1123103-20171214153323670-931319189.png

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

  • 端口号:23

1123103-20171214212910232-819984793.png

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

  • 空空白白

1123103-20171214214129920-1855062645.png

1123103-20171214231159029-327949609.png

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,来自中国上海市

1123103-20171214223244607-899334379.png

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

  • IP及其端口;协议

4.2编写TCP客户端程序

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

1123103-20171214220747888-372605826.png

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

  • 二者返回的内容大致相同,不同的是eclipse存在编码问题,有乱码

1123103-20171214220849123-1480561072.png

1123103-20171214212910232-819984793.png

4.2.4启动网络调试助手,将其设置为TCP Server,并启动,尝试使用Client.java连接该TCP Server,使用该服务器向Client发送信息。(截图关键代码与运行结果)

1123103-20171214222223685-949380734.png

1123103-20171214222241576-538410893.png

4.3ServerSocket与TCP服务器

4.3.1简易单线程MenuServer,题目3.1-3.4。(关键代码及运行截图,包含学号)可以使用网络调试助手,将其设置为TCP Client(IP与端口填你的MenuServer的IP与端口),连接你的MenuServer。其中的文件搜索功能为选做。

1123103-20171214225629279-121988618.png

1123103-20171214231252592-1353804377.png

转载于:https://www.cnblogs.com/lin1042712899/p/8038094.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值