美文网首页
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