网络编程又称套接字(socket)编程
什么是网络: 网络就是计算机间进行数据通信和交流的一种工具 这种工具是有大量的网络设备(交换机、路由器、光纤、同轴电缆、双绞线)+计算机组成 网状结构:保证传输的稳定性
为什么使用网络: 目的:互相传递数据、通信 网络间的数据传输:远程进程间的传输 |-- 本地进程:指的是同一台电脑中,不同进程间的数据传输 |-- 远程进程:指的是,两台或者跟多电脑间,数据的传输
基本的网络概念: |-- 协议(protocol): 广义来说:双方规定的一些大家必须要遵循的规则 网络协议: OSI七层网络模型 1978年,ISO(国际标准化组织):提出了OSI/RM(开放互联系统)七层网络模型
TCP/IP协议: TCP/IP 四(五)层模型: 1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。 3.运输层:主要为两台主机上的应用提供端到端的通信。 4.应用层:负责处理特定的应用程序细节。
端口(port): 网络端口:虚拟概念
IP地址: 每一个网络的接入终端,在接入到互联网的时候,会分配一个IP地址,用来确定唯一身份
socket对象 编程语言封装了我们网络传输中的细节,提供大量好用的方法
TCP/IP协议族下: UDP: 不可靠、不安全、无连接网络协议,速度快 TCP: 可靠、安全、有连接的网络协议,速度相对比较慢
UDP(user datagram protocol: 用户数据报文协议)网络编程: java中所有跟网络相关对象,都是存放在java.net包
TCP(Transmission Control Protocol:传输控制协议) 可靠的、安全的、有连接网络协议(长连接)
网络存在三种网络连接模型 |-- 单工: 只能单向传导 |-- 半双工:例如对讲机传输机制 |-- 全双工:同时可以进行两端传导
TCP: 建立连接:三次握手 三次握手的解释: 三次握手是需要连接服务器,我以通俗的口吻来解释,这样比较容易理解:首先由客户端传输一个信息给服务器端(这是第一次握手),比如说,我可以连接你吗?,然后服务器端稍等片刻(很迅速)后做出回应,然会返回一些信息给客户端,就如图所示的信息,我通俗的翻译就是,可以连接我,你连接吧(这是第二次握手),最后客户端再次发出一次信息,这次就是确定连接的信息了,就是说,你同意了我就连接你了,这次就连接成功了,不用再返回信息了(这是第三次握手)。 终止连接:四次挥手 四次挥手是需要客户端需要断开服务器:首先客户端发出信息给服务器端,指令的意思就是:我要断开你的连接了(第一次挥手),然后服务器端这边接收到信息之后然后做出回应:我先做好断开你连接的准备,等一会啊~(第二次挥手),而后服务器端再做出一次回应:我准备好了你断开你连接的准备你可以断开了(第三次挥手),最后客户端再最后做出断开连接的回应:好的,我断开连接了(第四次挥手)。 这就是三次握手和四次挥手通俗易懂的机制,但是三次握手四次挥手还是很复杂的,里面的信息指令等等一系的东西错综复杂,我们只能简单的来理解一下了。
|