• 7、HTTP长连接和短连接的区别 8、什么是TCP粘包/拆包?发生的原因?


    7、HTTP长连接和短连接的区别

    在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接, 任务结束就中断连接。

    而从HTTP/1.1起,默认使用长连接,用以保持连接特性。

    8、什么是TCP粘包/拆包?发生的原因?

    一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和粘包问题。

    原因

    1、应用程序写入数据的字节大小大于套接字发送缓冲区的大小.

    2、进行MSS大小的TCP分段。( MSS=TCP报文段长度-TCP首部长度)

    3、以太网的payload大于MTU进行IP分片。( MTU指:一种通信协议的某一层上面所能通过的最大数据 包大小。)

    解决方案

    1、消息定长。

    2、在包尾部增加回车或者空格符等特殊字符进行分割

    3、将消息分为消息头和消息尾。

    4、使用其它复杂的协议,如RTMP协议等。

  • 相关阅读:
    3.不同类型变量存取
    2.Scanner的应用
    helloworld
    针对搜狗网址导航评论
    第二阶段第三次站立会议
    第二阶段第二次站立会议
    软件工程概论学习进度条05
    人月神话阅读笔记02
    第二阶段第一次站立会议
    第八次站立会议
  • 原文地址:https://www.cnblogs.com/crbhf/p/15112203.html
Copyright © 2020-2023  润新知