博客
关于我
第五章 基于TCP的服务器端/客户端(2)
阅读量:724 次
发布时间:2019-03-21

本文共 708 字,大约阅读时间需要 2 分钟。

TCP网络编程相关学习笔记

《TCP/IP网络编程》一书中,关于TCP套接字的I/O缓冲机制和数据传输机制的学习有些难度。特别是关于如何实现一个可靠的客户端和服务器之间的通信,需要深入理解TCP协议的原理。

主要学习了TCP协议的核心知识点,包括:

  • TCP套接字中的I/O缓冲特性
    • 每个TCP套接字都有自己独立的I/O缓冲区,缓冲区会在套接字创建时自动生成
    • 即使关闭套接字,输出缓冲中的数据仍会继续发送
    • 关闭套接字后,输入缓冲中的数据会丢失
    • 因此在开发多并发连接时需要注意缓冲区的分配与管理
    • write函数和read函数都不会等数据立即传输完成,需要理解其工作机制
    1. TCP的可靠传输机制
      • TCP会控制数据流的传输流量,避免出现缓冲溢出的风险
      • 数据传输过程中,数据包会被分配序号,发送方和接收方需要通过ACK确认接收状态
      • 如果收到某个数据包没有ACK,发送方会重转该数据包重新发送
      • 为此,TCP协议会启动计时器等待ACK应答,如果超时没有响应则实现数据包重转
      • 这些机制确保了数据能够可靠、完整地送达接收方
      1. TCP连接的建立与断开
        • TCP连接的建立采用三次握手机制
        • youngest也称为SYN+ACK序列,这是建立连接的第一步
        • 断开连接时会经历四次握手,双方各发送一次FIN报文
        • FIN报文的作用是通知通信对方可以关闭连接
        1. TCP数据交换的三次握手过程
          • 数据交换过程中发送方会持续发送数据包,接收方则通过ACK报文确认接收状态
          • 每次ACK号会增加传输的字节数,并且带有序号,以便接收方重建接收数据的顺序
          • 这样的机制确保了数据的完整性和有序性

          了解了这些TCP协议的实现细节,可以帮助更好地理解网络编程中的数据传输机制。

    转载地址:http://ipcgz.baihongyu.com/

    你可能感兴趣的文章
    Nginx 做负载均衡的几种轮询策略分析
    查看>>
    Nginx 入门,一篇搞定!
    查看>>
    Nginx 利用代理转发请求示例
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理+负载均衡
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
    查看>>
    Nginx 我们必须知道的那些事
    查看>>