#1.网络模型
- OSI参考模型
- 应用层(http,ftp,....)
- 表示层
- 会话层
- 传输层(TCP,UDP)....Transfrom Control protle,传输控制协议
- 网络层(IP地址).....Internet protle.
- 数据链路层
- 物理层(网线,光纤,无线,蓝牙)
> 数据封包,数据拆包.
- TCP/IP参考模型
- 应用层(3)---->web开发
- 传输层---->
- 网际层---->
- 主机至网路层(2)
#2.网络三要素:
- IP
- 网络上电脑的唯一标识符
- 不易记忆,可用主机名
- 端口(逻辑端口)
- 电脑上的每个网络应用程序的唯一标识符,0-65535
- 0-1024,系统保留端口.
- web 80
- mysql 3306
- 协议:UDP ,国际通用协议TCP/IP
> 127.0.0.1,本地回环地址,可以测试网卡
> 保留地址段,作为局域网使用
#3.UDP协议
>
- 将数据及源和目的封装成数据包中,不需要建立连接.
- 每个数据报的大小限制在64k中.
- 无连接,不可靠协议,容易丢包.
- 不需要连接,速度快.
> 聊天数据,网络视频,桌面共享,力求速度就是UDP
#4.TCP协议
>
- 面向接连,形成传输数据的通道.三次握手,建立通道
- 在连接中进行大数据量传输,比如下载.
- 可靠协议
- 必须建立连接,效率会稍低.
#5.Socket,套接字通信(Socket:插座)
>
- Socket 就是为网络服务提供的一种机制.
- 通信的两端都有Socket.
- 网络通信就是Socket之间的通信
- Socket 相当于码头.
- 数据在两个Socket间通过IO传输.
- 网络上具有唯一标示的IP地址和端口号组合在一起构成的唯一能识别的标识符套接字.
- Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port.
- io流相当于船
- io里的数据相当于船上的货物.
#6.UDP的Socket
> UDP Send
- 1.建立UDP的Socket服务.通过DatagramSocket创建
- 2.提供数据,将数据封装到数据报中,通过DatagramPacket(byte[] buf,int len,InetAddress address,int port)
- 3.通过Socket的Send(),发送出去
- 4.关闭资源
> Recevie
- 1.建立UDP的Socket服务,会监听一个端口,给这个应用程序一个数字标识,方便明确应用程序处理由哪个端口收到的数据.
- 2.定义一个空数据包,存储接受到的数据包,因为数据包中有更多功能提取字节数据报中的不同数据信息.
- 3.通过Socket的Recevie()收到的数据存到已定义好的数据包中,阻塞式方法,等待
- 4.通过数据包对象中的特有功能,解析并获取其中的数据.
- 5.关闭资源.
#7.TCP的Socket.
- Socket;ServerSocket
- 客户端
- 1.创建Socket服务,并指定要连接的主机和端口.创建成功就已经有了通路和Socket流
- 2.获取输出流,并写出数据.
- 服务端
- 1.建立服务端的Socket服务.ServerSocket.监听一个端口
- 2.获取连接过来的客户端对象,通过ServerSocket的accpet方法,没有连接就等,阻塞式的.
- 3.客户端发过来数据,服务端要获取客户端的发送过来的数据,就要使用客户端的读取流来读取数据.
- 4.关闭客户端
- 5.关闭服务端
|
|