TCP/UDP交互流程

UDP程序交互的流程

   发送端

       (1)创建DatagramSocket 对象

       (2)创建DatagramPacket 对象,并封装数据

       (3)发送数据

       (4)释放流资源

接收端

    (1)创建DatagramSocket 对象

       (2)创建DatagramPacket 对象

       (3)接收数据存储到DatagramPacket 对象中

       (4)获取DatagramPacket 对象中的内容

       (5)释放资源

TCP程序交互的流程

  客户端

    (1)创建客户端 Socket 对象

       (2)获取 Socket 的输出流对象

       (3)写数据到服务器

       (4)获取 Socket 的输入流对象

       (5)使用输入流,读取反馈信息

     

### TCPUDP 协议工作流程概述 #### TCP 协议工作流程 TCP 是一种面向连接的、可靠的传输层协议。其主要特点在于提供可靠的数据传输服务,确保数据按序无误地送达目的地。 - **三次握手建立连接** - 客户端向服务器发送带有 SYN 标志位的请求报文,表示希望发起连接。 - 服务器接收到该请求后回应一个带有 ACK 和 SYN 的响应报文给客户端。 - 客户端再次回传一个仅含 ACK 的确认报文至服务器,此时双方都准备好进行通信[^2]。 - **数据传输阶段** - 数据按照字节流的形式在已建立好的双向通道内流动。 - 发送方每发出一段数据都会等待接收方发来的确认消息 (ACK),以此来验证数据是否成功抵达并保持顺序正确性。 - 如果某个分组丢失,则会触发重传机制直到所有部分都被安全接收为止[^3]。 - **四次挥手断开连接** - 连接终止过程涉及四个步骤:一方先主动关闭(FIN),另一方同意关闭(ACK),随后被动方也提出结束请求(FIN),最后由最初提议者给出最终确认(ACK)。 ```mermaid sequenceDiagram participant Client as C participant Server as S Note over Client,Server: 建立连接 Client->>Server: SYN Server-->>Client: SYN+ACK Client-->>Server: ACK Note over Client,Server: 数据交换 loop 正常操作期间 Client->>Server: DATA Server-->>Client: ACK end Note over Client,Server: 断开连接 Client->>Server: FIN Server-->>Client: ACK Server->>Client: FIN Client-->>Server: ACK ``` #### UDP 协议工作流程 相比之下,UDP 提供了一种更简单但不可靠的服务模型: - 不需要事先创建任何类型的长期关系;每次交互都是独立事件。 - 每条消息作为一个单独单位被封装在一个 IP 报文中直接送出,而不会像 TCP 那样分成多个片段再逐个传送。 - 缺乏内置错误检测与纠正功能——这意味着如果某份报告未能到达目标地址则不会有自动补救措施[^1]。 ```mermaid sequenceDiagram participant Sender as A participant Receiver as B Sender->>+Receiver: Datagram with data and checksum opt If datagram arrives intact Receiver-->>Sender: Optional acknowledgment (not required by protocol) else Error occurs during transmission Receiver--)Sender: No response or error message may be sent depending on application level handling. end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值