计算机网络
文章平均质量分 83
~kiss~
这个作者很懒,什么都没留下…
展开
-
QUIC的Stream
不管单向还是双向,它的状态机的使用都是一样的,发端有发端的用法,收端有收端的用法QUIC 的发送端状态机状态设计足够简洁,它只有六个状态,且状态之间的转换也很清晰。去掉起始状态与两种结束状态,只有三个中间状态的有特定的行为Send 可以发送数据、重传数据,接收对端发来的数据ACK和流控通知Data Sent 只能发送重传数据,接收对端的数据ACKReset Sent 只接收对端的 Reset ACK。原创 2024-07-14 14:16:12 · 675 阅读 · 1 评论 -
HTTP 范围Range请求
HTTP 的 Range 请求使客户端能够要求服务器仅向其回传 HTTP 消息的一部分HTTP 的 Range 请求头是 HTTP/1.1 协议的一个特性。它允许客户端请求仅传输资源的某个特定部分,而不是整个资源。原创 2024-07-09 23:48:38 · 857 阅读 · 0 评论 -
HTTP长连接
HTTP 的非长连接:TCP的三握建立链路+发送请求+接收响应+四挥+…+ TCP的三握建立链路+发送请求+接收响应+四挥HTTP 1.1 的长连接:HTTP建立的TCP连接,可给多个HTTP请求用,但是存在队头阻塞,虽然设计出来了pipeline,但是发送和接收的顺序有严格要求,所以默认关闭 pipeline。TCP连接同一时间只给一个HTTP用HTTP 2.0:二进制分帧实现多个HTTP请求并行使用同一个TCP链路。TCP连接同一时间可给多个HTTP用。原创 2024-07-07 21:50:43 · 841 阅读 · 0 评论 -
TCP一定可靠吗
TCP的校验和(Checksum)是用于检测 TCP 数据包中的数据错误的重要机制它在数据传输过程中强制执行了数据完整性检查,以确保数据在传输过程中没有被损坏TCP 校验和是 TCP 头的一部分,它覆盖了 TCP 头和 TCP 数据,还涉及到 IP 头的部分内容校验和碰撞(Checksum Collision)两个不同的数据包或数据流在计算校验和时,产生了相同的校验和值尽管数据包内容不同,但由于校验和算法的局限性,这些内容生成的校验和一致。原创 2024-07-06 23:12:22 · 1119 阅读 · 0 评论 -
go的fasthttp学习~stackless的writer
如此精妙的设计,真的太厉害了利用stackless的NewWriter,来实现接管一个真正的复杂的高层Writer复杂的高层Writer利用stackless的writer提供的xWriter来做它的底层io,将编码后的数据存入里面stackless的Flush和Close其实就是接管的复杂的高层Writer的这两,最终stackless的worker将上述结果存入 dstWriter 中。原创 2024-03-17 16:17:47 · 370 阅读 · 0 评论 -
go的fasthttp学习
为一些高性能边缘情况而设计。除非服务器/客户端需要每秒处理数千个中小型请求(small to medium requests per second),并且需要一致的低毫秒响应时间,否则 fasthttp 可能不适合。对于大多数情况,net/http 更好,因为它更易于使用并且可以处理更多情况。1台物理机1.5M的并发保活连接,200K的rps(rps在互联网领域通常是指"Requests Per Second",每秒请求)原创 2024-03-16 15:23:51 · 1189 阅读 · 1 评论 -
MQTT简介
MQTT can scale to connect with millions of IoT devices(数百万个物联网设备).MQTT 客户端非常小,需要最少的资源,因此可以在小型微控制器上使用。MQTT 消息标头很小,可以优化网络带宽。一种轻量级的,基于发布订阅模式的通信协议,用于在物联网和机器与机器(M2M)通信中传输消息。它具有低带宽和低功耗的特点,适用于连续连接不稳定的网络环境。MQTT 对持久会话的支持减少了客户端与代理重新连接的时间。消息传递的可靠性对于许多物联网用例来说非常重要。原创 2024-02-29 20:53:54 · 335 阅读 · 0 评论