【日志】一段话理清楚传输层tcp和应用层http关系


前言

本博文主要是基于对tcp和http的的学习,进行的相关整理与记录,方便后续查阅。

日志

1、TCP传输层协议

TCP是一种面向连接的、可靠的、基于IP的传输层协议。TCP传输层协议一个重要特点是TCP是基于数据流的,客户端的请求会源源不断的发送给服务端,服务端收到的数据可能不是一个完整的请求,也有可能是多个请求连在一起。这就需要我们在这源源不断的数据流中区分每个请求的边界。而应用层协议主要是为请求边界定义一套规则,避免请求数据混乱。

2、应用层协议

应用层协议(application layer protocol)定义了运行在不同端系统上(客户端、服务端)的应用程序进程如何相互传递报文,例如HTTP、WebSocket都属于应用层协议。例如一个简单的应用层次协议可以如下{“module”:“user”,“action”:“getInfo”,“uid”:456}\n"。此协议是以"\n"(注意这里"\n"代表的是回车)标记请求结束,消息体是字符串。

3、短连接

短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。像WEB网站的HTTP服务一般都用短连接。

4、长连接

长连接,指在一个连接上可以连续发送多个数据包。

注意:长连接应用必须加心跳,否则连接可能由于长时间不活跃而被路由节点防火墙断开。

长连接多用于操作频繁,点对点的通讯的情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多。所以长连接在每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。

资料参考

Workerman,高性能PHP应用容器

TCP/IP 和 HTTP 的区别和联系是什么?


日志记录就先到这!接下来,是一些整理的c++要点概要!

额外补充

函数重载

C++函数重载的判断依据

  1. 函数形参的个数;
  2. 函数形参的类型;
  3. 形参的顺序;
  4. 不能把返回值作为函数重载的条件, 原因是编译器在编译时不会去判断函数的返回类型,
    函数只有调用后, 编译器才会去验证返回类型, 所以返回值不能作为函数重载的依据;
  5. 常函数 const 可以作为函数重载判断依据, 原因: 重载[]运算符时, 有没有 const 的区别
    是: 有 const 只读, 没有 const 读写都可以。

fork()系统调用的特性

fork()系统调用是 Unix 下以自身进程创建子进程的系统调用, 一次调用, 两次返回, 如果返
回是 0, 则是子进程, 如果返回值>0, 则是父进程(返回值是子进程的 pid) 。 还有一个很
重要的东西是, 在 fork()的调用处, 整个父进程空间会原模原样地复制到子进程中, 包括指
令, 变量值, 程序调用栈, 环境变量, 缓冲区, 等等。

指针与const

  • const A * 等价 A const * 。
  • 允许用 A * 赋值 A const * 。
  • 允许用 A* * 赋值 A const* const * 。
  • 不允许用 A* * 赋值 A const* * 。

友元关系

友元关系是单向的, 不是对称, 不能传递。

  • 关于传递性, 有人比喻: 父亲的朋友不一定是儿子的朋友。
  • 那关于对称性, 是不是: 他把她当朋友, 她却不把他当朋友? 如, 类 A 是类B 的友元, 类 C 是类 A 的公有派生类。 则类 C 不是类 B 的友元, 类 B 不是类 A 的友元

复杂度

  • vector 插入 ,该位置插入后后面的都要改变 O(n)
  • Set 底层红黑树 O(logn)
  • Hash_map 底层哈希表 O(1)
  • Deque 尾部可以直接修改 O(1)

抽象类的规定

  1. 抽象类只能用作其他类的基类, 不能建立抽象类对象。
  2. 抽象类不能用作参数类型、 函数返回类型或显式转换的类型。
  3. 可以定义指向抽象类的指针和引用, 此指针可以指向它的派生类, 进而实现多态性。

要点

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻虎虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值