20145120 《Java程序设计》第10周学习总结
教材学习内容总结
转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html
网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两个或多个程序之间的数据交换,和普通的单机程序相比,网络程序最大的不同就是需要交换数据的程序运行在不同的计算机上,这样就造成了数据交换的复杂。
网络编程中的两种程序就分别是客户端和服务器端,例如QQ程序,每个QQ用户安装的都是QQ客户端程序,而QQ服务器端程序则运行在腾讯公司的机房中,为大量的QQ用户提供服务。这种网络编程的结构被称作客户端/服务器结构,也叫做Client/Server结构,简称C/S结构。
使用C/S结构的程序,在开发时需要分别开发客户端和服务器端,这种结构的优势在于由于客户端是专门开发的,所以根据需要实现各种效果,专业点说就是表现力丰富,而服务器端也需要专门进行开发。但是这种结构也存在着很多不足,例如通用性差,几乎不能通用等,也就是说一种程序的客户端只能和对应的服务器端通讯,而不能和其它服务器端通讯,在实际维护时,也需要维护专门的客户端和服务器端,维护的压力比较大。
其实在运行很多程序时,没有必要使用专用的客户端,而需要使用通用的客户端,例如浏览器,使用浏览器作为客户端的结构被称作浏览器/服务器结构,也叫做Browser/Server结构,简称为B/S结构。
使用B/S结构的程序,在开发时只需要开发服务器端即可,这种结构的优势在于开发的压力比较小,不需要维护客户端。但是这种结构也存在着很多不足,例如浏览器的限制比较大,表现力不强,无法进行系统级操作等。
总之C/S结构和B/S结构是现在网络编程中常见的两种结构,B/S结构其实也就是一种特殊的C/S结构。
在现有的网络中,网络通讯的方式主要有两种:
1、 TCP(传输控制协议)方式
2、 UDP(用户数据报协议)方式
客户端(Client)是指网络编程中首先发起连接的程序,客户端的编程主要由三个步骤实现:
1、 建立网络连接
2、 交换数据
3、 关闭网络连接
服务器端(Server)是指在网络编程中被动等待连接的程序,服务器端的编程步骤和客户端不同,是由四个步骤实现,依次是:
1、 监听端口
2、 获得连接
3、 交换数据
4、 关闭连接
教材学习中的问题和解决过程
原来我以为要两台机才能做C/S结构程序,后来突发奇想试了一下,然后发现一台机也可以
截图
本周代码托管截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 1000行 | 16篇 | 300小时 | |
第一周 | 20/20 | 1/1 | 8/8 | |
第二周 | 71/91 | 1/2 | 9/17 | |
第三周 | 229/320 | 1/3 | 13/30 | |
第四周 | 280/600 | 1/4 | 16/46 | |
第五周 | 500/1100 | 1/5 | 18/64 | |
第六周 | 200/1300 | 2/7 | 12/76 | |
第七周 | 300/1600 | 2/9 | 14/90 | |
第八周 | 200/1800 | 2/11 | 12/102 | |
第九周 | 200/2000 | 2/13 | 19/121 | |
第十周 | 100/2100 | 2/15 | 18/139 |