20155323 2016-2017-2 《Java程序设计》第10周学习总结
20155323 2016-2017-2 《Java程序设计》第10周学习总结
教材学习内容总结
- 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。
- 狭义的网络编程范畴就是程序员把数据发送到指定的位置,或者接收到指定的数据。
- 网络中的每个设备都会有一个唯一的IP地址.在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34。
- 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。
- 当用户在浏览器输入域名时,浏览器首先请求DNS服务器,将域名转换为IP地址,然后将转换后的IP地址反馈给浏览器,然后再进行实际的数据传输。
- DNS服务器是在实际传输数据以前将域名转换为IP地址的服务器,当用户在浏览器输入域名时,浏览器首先请求DNS服务器,将域名转换为IP地址,然后将转换后的IP地址反馈给浏览器,然后再进行实际的数据传输。
- 为了让一个计算机可以同时运行多个网络程序,就引入了另外一个概念——端口(port) 前台总机的电话号码就相当于IP地址,而每个员工的分机号就相当于端口。
- 端口是为了让一个计算机可以同时运行多个网络程序,在同一个计算机中每个程序对应唯一的端口,这样一个计算机上就可以通过端口区分发送给每个端口的数据了,换句话说,也就是一个计算机上可以并发运行多个网络程序,而不会在互相之间产生干扰。
- 网络编程中的两种程序就分别是客户端和服务器端。
- 客户端/服务器结构:也叫做Client/Server结构,简称C/S结构。一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别。这种结构的优势表现力丰富,而服务器端也需要专门进行开发。但是这种结构也存在着很多不足,例如通用性差,实际维护时,也需要维护专门的客户端和服务器端,维护的压力比较大。
- 使用浏览器作为客户端的结构被称作浏览器/服务器结构,也叫做Browser/Server结构,简称为B/S结构。 P2P程序是一种特殊的程序,应该一个P2P程序中既包含客户端程序,也包含服务器端程序。
- 在实际的网络程序编程中,最麻烦的内容不是数据的发送和接收,因为这个功能在几乎所有的程序语言中都提供了封装好的API进行调用,最麻烦的内容就是协议的设计以及协议的生产和解析,这个才是网络编程中最核心的内容。网络协议就是一种格式上的约定,在进行设计时一般遵循“简单、通用、容易解析”的原则进行。
- 客户端网络编程的步骤:1、建立网络连接 2、交换数据 3、关闭网络连接。
- 服务器端网络编程步骤:1、监听端口 2、获得连接 3、交换数据 4、关闭连接。
教材学习中的问题和解决过程
1.不太理解BS结构和CS结构的区别
在查阅资料后我知道了:
C/S 是双向的通讯,建立连接后会一直保持,任何一方都可以随时向对方发送信息。比如 QQ 客户端登录后,腾讯的服务器可以随时把新的消息发给客户端,客户端也可以随时向腾讯的服务器发送信息、B/S 是「查询」式的通讯,客户端向服务器查询一些信息,在服务器回应之后,(逻辑上)会立刻断开连接。只有客户端向服务器查询时,服务器才能向客户端发送信息,服务器不能主动地向客户端发送信息。比如通过浏览器访问网站时,只有当你访问一个网站时,网站才可以向你提供信息。「访问」是一个瞬间的行为,当网页加载完成以后,网站就无法再发送额外的信息。简而言之,C/S 是双向通讯,B/S 是一问一答。
代码调试中的问题和解决过程
本周的代码调试未出现什么问题。
代码托管
上周考试错题总结
主要是UML类图的连线,掌握的还是不够。
结对及互评
点评过的同学博客和代码
感悟
这周的学习因为放假有了松懈,希望下周能多多努力。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/4 | 10/10 | |
第二周 | 100/200 | 1/5 | 10/20 | |
第三周 | 100/300 | 1/6 | 10/30 | |
第四周 | 300/700 | 1/7 | 10/40 | |
第五周 | 400/1100 | 1/8 | 20/60 | |
第六周 | 300/1400 | 1/9 | 20/80 | |
第七周 | 500/1900 | 2/11 | 30/110 | |
第八周 | 400/2300 | 1/12 | 30/140 | |
第九周 | 400/2700 | 2/14 | 30/170 | |
第十周 | 300/3000 | 1/15 | 20/190 |