TCP

聊聊iOS中网络编程长连接的那些事

网络编程基础知识:
  1. 简述传输层协议TCP和UDP的区别
    总结:
    • TCP协议在传送数据段的时候要给段标号;UDP协议不;
    • TCP协议可靠;UDP协议不可靠;
    • TCP协议是面向连接;UDP协议采用无连接;
    • TCP协议负载较高,采用虚电路;UDP采用无连接;
    • TCP协议的发送方要确认接收方是否收到数据段(3次握手协议);
    • TCP协议采用窗口技术和流控制。
TCP_第1张图片
image.png
  1. TCP/IP详解
    • TCP/IP详解 - 第11章·UDP:用户数据报协议
    • TCP/IP详解 - 第17章·TCP:传输控制协议
    • TCP/IP详解 - 第18章·TCP连接的建立与终止
    • TCP/IP详解 - 第21章·TCP的超时与重传

通俗易懂-深入理解TCP协议

  • 通俗易懂-深入理解TCP协议(上):理论基础
  • 通俗易懂-深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
如果觉得上面的文章枯燥,则《网络编程懒人入门》系列可能是你的菜:
  • 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
  • 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
  • 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
  • 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
  • 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?

网络编程懒人入门

  • 网络编程懒人入门(一):快速理解网络通信协议(上篇)
  • 网络编程懒人入门(二):快速理解网络通信协议(下篇)
  • 网络编程懒人入门(三):快速理解TCP协议一篇就够
  • 网络编程懒人入门(四):快速理解TCP和UDP的差异
  • 网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势
  • 网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门
  • 网络编程懒人入门(七):深入浅出,全面理解HTTP协议
  • 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接
  • 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
如果感到自已已经很牛逼了,《不为人知的网络编程》应该是你菜
  1. 不为人知的网络编程(一):浅析TCP协议中的疑难杂症(上篇)
  2. 不为人知的网络编程(二):浅析TCP协议中的疑难杂症(下篇)
  3. 不为人知的网络编程(三):关闭TCP连接时为什么会TIME_WAIT、CLOSE_WAIT
  4. 不为人知的网络编程(四):深入研究分析TCP的异常关闭
  5. 不为人知的网络编程(五):UDP的连接性和负载均衡
  6. 不为人知的网络编程(六):深入地理解UDP协议并用好它
  7. 不为人知的网络编程(七):如何让不可靠的UDP变的可靠?
如果看完上面的文章还是躁动不安,那看看《高性能网络编程系列》
  • 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少
  • 高性能网络编程(二):上一个10年,著名的C10K并发连接问题
  • 高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了
  • 高性能网络编程(四):从C10K到C10M高性能网络应用的理论探索
二、TCP理论
  1. 理论经典:TCP协议的3次握手与4次挥手过程详解

  2. 理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程

你可能感兴趣的:(TCP)