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 是一问一答。

出处:请问CS结构和BS结构的详细区别?

代码调试中的问题和解决过程

本周的代码调试未出现什么问题。

代码托管

上周考试错题总结

主要是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
posted @ 2017-04-30 17:43  刘威良  阅读(134)  评论(1编辑  收藏  举报