Java 网络编程】Socket TCP UDP 联系

网友投稿 639 2022-05-30

文章目录

I 信息传输关注点

II Socket 与 TCP UDP 关系

III Socket 连接组成 ( IP地址 + 端口号 )

IV Socket TCP

V Socket UDP

VI CS 应用模型

信息传输不需要关心底层 :

将字符串数据从设备 A 传递给设备 B ,

需要将数据转为电信号进行传输 ,

但是我们不需要关心具体的信息如字符串中的某个字母 , 到底转成哪些电信号进行传输 ,

如果需要考虑底层的具体操作 , 整个开发会非常繁琐 ;

快递发送案例 :

A 向 B 发一份快递 , 首先将物品包装起来

( 对应表示层的数据封装 )

, 然后贴上目的地标签

( 对应网络层寻址和路由选择 )

, 然后送到快递公司 , 快递公司通过各种物流如航空或火车

( 对应物理层的光电信号传输 )

, B 收到后 , 拆开快递 , 拿到物品 ;

【Java 网络编程】Socket TCP UDP 联系

该操作类似于 OSI 的七层网络模型发送数据信息 ;

发送信息的 A 不需要了解具体的物流过程 , 只需要将物品准备好即可 ;

1. Socket 与 TCP UDP 之间的关系 :

Socket 就是对 TCP UDP 协议进行的封装 ,

主要封装了 IP 地址与对应的通信端口相关内容 ;

① 端口 : 如使用 HTTP 协议访问网站 , 访问的就是 80 端口 ;

② IP 地址 : 在网络中可以使用 IP 地址查找到指定网络设备 ;

2.

Socket 是对 TCP/IP 协议的实现 ,

具体指的就是 Socket 相关的 API , 包括流套接字 ( Stream Socket ) 和数据套接字 ( Datagram Socket ) ;

1. Socket 作用 : 信息传输过程中 ,

标识两个端点之间的网络连接 ;

2. Socket 连接与物理层连接 : 设备 A 与设备 B 通过 Socket 连接 ,

该连接不是物理层面的连接

,

其物理层面可能正在连接 , 也可能没有连接 , 可能一次 Socket 连接要涉及到多次物理层连接与断开 , 物理层连接对 Socket 操作来说是透明的 ;

3. 端点 :

IP 地址 + 端口号 ,

代表了一个端点 ;

4. 服务器客户端 Socket 连接元素 : 在一个客户端与服务器的 Socket 连接中 , 涉及到了 ① 服务器 IP 地址 , ② 服务器端口号 , ③ 客户端 IP 地址 , ④ 客户端端口号 ;

1. 三次握手 :

TCP 是面向连接的通信协议 ,

该协议下建立连接 , 需要三次握手 , 通信结束后要关闭连接 ;

2. 端到端通信 :

TCP 协议只能用于两个端点之间的通信 ,

通信时是无法与第三个端点进行通信 ;

1. UDP 协议特点 :

UDP 是无连接的通信协议 ,

其数据包含目标端口信息和源端口信息 ;

2. UDP 广播 :

该协议通信不需要建立连接 , 可以实现广播发送 ;

3. TCP 与 UDP 传输区别 :

TCP 数据发送数据到另一端 , 必有一个反馈结果 , 或者成功 , 或者失败 ;

UDP 发送数据 , 不管结果 , 只负责发送 , 不负责送达 ;

CS 应用模型 ( Client-Server Application ) : TCP/IP 协议的通信 ,

主要使用的模型就是 CS 模型 ,

Server 和 Client 分别对应服务器端和客户端的两个进程 ;

其主要目的是实现网络中的计算机资源 , 服务 , 和数据的共享 ;

常用的 CS 模型是 FTP , SMTP , HTTP ;

Socket编程 TCP/IP UDP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:php面试问答
下一篇:Java初识线程基本知识
相关文章