20145129 《Java程序设计》第10周学习总结
教材学习内容总结
- 网络编程
- 计算机网络概述: 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。
- 网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址,在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成.
- 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。
- 在网络中传输的数据,全部是以IP地址作为地址标识,所以在实际传输数据以前需要将域名转换为IP地址,实现这种功能的服务器称之为DNS服务器,也就是通俗的说法叫做域名解析。
- 每个端口唯一的对应一个网络程序,一个网络程序可以使用多个端口。
- 网络编程概述
- 网络编程就是两个或多个程序之间的数据交换
- 在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。
- 网络编程的结构被称作客户端/服务器结构,也叫做Client/Server结构,简称C/S结构。
- 使用浏览器作为客户端的结构被称作浏览器/服务器结构,也叫做Browser/Server结构,简称为B/S结构。
- 另外简单的介绍一下P2P(Point to Point)程序,常见的如BT、电驴等。P2P程序是一种特殊的程序,应该一个P2P程序中既包含客户端程序,也包含服务器端程序.
- 在实际进行数据交换时,为了让接收端理解该数据,那么就需要规定该数据的格式,这个数据的格式就是协议。
- 网络通讯方式
- 在现有的网络中,网络通讯的方式主要有两种: TCP(传输控制协议)方式、UDP(用户数据报协议)方式。
- TCP(传输控制协议)方式:使用该种方式进行网络通讯时,需要建立专门的虚拟连接,然后进行可靠的数据传输,如果数据发送失败,则客户端会自动重发该数据。
- UDP方式:就类似于发送短信,使用这种方式进行网络通讯时,不需要建立专门的虚拟连接,传输也不是很可靠,如果发送失败则客户端无法获得。
- TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。
- 网络编程步骤:
- 客户端网络编程步骤:建立网络连接、交换数据、关闭网络连接
- 服务器端网络编程步骤:监听端口、获得连接、交换数据、关闭连接
- TCP编程
- 如何复用Socket连接?建立连接以后,将数据交换的逻辑写到一个循环中
- 如何使服务器端支持多个客户端同时工作?当服务器端接收到一个连接时,启动一个专门的线程处理和该客户端的通讯。按照这个思路改写的服务端示例程序将由两个部分组成,MulThreadSocketServer类实现服务器端控制,实现接收客户端连接,然后开启专门的逻辑线程处理该连接,LogicThread类实现对于一个客户端连接的逻辑处理,将处理的逻辑放置在该类的run方法中
- 计算机网络概述: 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。
教材学习中的问题和解决过程
暂无
代码调试中的问题和解决过程
暂无
其他(感悟、思考等,可选)
对学习网络编程更加具有逻辑性,了解基本知识,并熟知两种通讯方式以及编写方法。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 15篇 | 300小时 | |
第一周 | 50/50 | 2/2 | 14/14 | |
第二周 | 100/150 | 1/3 | 10/24 | |
第三周 | 300/450 | 1/4 | 15/39 | |
第四周 | 350/800 | 1/5 | 50/74 | |
第五周 | 200/1000 | 1/6 | 30/104 | |
第六周 | 500/1500 | 2/8 | 26/130 | |
第七周 | 200/1700 | 2/10 | 20/130 | |
第八周 | 316/2016 | 2/12 | 20/150 | |
第九周 | 316/2016 | 2/12 | 20/150 | |
第十周 | 532/2548 | 2/14 | 20/170 |