美文网首页
Socket TCP篇

Socket TCP篇

作者: 极客天空 | 来源:发表于2019-11-15 16:56 被阅读0次

何为TCP

  • 英语:Transmission Control Protocol,缩写为TCP
  • TCP是传输控制协议;是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义
  • 与UDP一样完成第四层传输层所指定的功能与职责

TCP机制

  • 三次握手、四次挥手
  • 具有校验机制、可靠、数据传输稳定

TCP链接、传输流程

001.jpeg

实际发送的数据 要大于 发送的目标数据 因为客户端和服务器端会有信息的校验数据添加进来

TCP 能做什么

  • 聊天消息传输、推送
  • 单人语音、视频聊天
  • 几乎UDP能做的都能做,但需要考虑复杂性、性能问题
  • 限制:无法进行广播,多播等操作

TCP 核心API 讲解

  • socket():创建一个socket
  • bind():绑定一个socket到一个本地地址和端口上
  • connect():连接到远程套接字
  • accept():接受一个新的连接
  • write():把数据写入到socket输出流
  • read():从Socket 输入流读取数据

服务器端的连接

002.jpeg

扩展——Socket 与 进程关系

003.jpeg

可以实现 不同进程之间的通信

TCP连接可靠性 - 三次握手

005.png

SYN 命令 带一个随机值 发送给服务端,然后回送命令 SYN 以及 ACK 命令,会携带客户端的x 以及一个随机数y,客户端回送一个ACK命令,携带服务器的y+1,以及x+1 回送过去

三次握手的必要性

006.jpeg

可以确保在多个客户端连接时候 确保一一对应 准确性

TCP连接可靠性 - 四次挥手

007.jpeg

在客户端停止发送信息之后,服务端会间隔发送FIN命令
一般30s 全双工 四次挥手,一次次端口、先端口客户端,然后是服务端

相关文章

网友评论

      本文标题:Socket TCP篇

      本文链接:https://www.haomeiwen.com/subject/sglsictx.html