- 主题:为啥TCP协议不增加一种“稳定包”传输的模式?
因为有人不需要这种模式啊。tcp 这个协议之所以会活到现在,而不是像 NetBIOS 这种协议一样早早就死掉,恐怕主要原因在于抓住了核心痛点——顺序管道、拥塞控制、差错控制。
你需要的需求实际上是 websocket 做的事。我自己也有一个更轻量的山寨协议做这件事情。
不过从现在互联网的各种破坏情况看,TCP 也离死不远了。
【 在 wjhtingerx 的大作中提到: 】
: 首先强调一下,我懂TCP是“流”,是没有包的概念的,所以回帖不要抓着这个来教育了。
: 我的意思是这种模式,发送端一次发送多大的包,接收端就一次接收多大包。这样就免去了应用需要组数剧、解析协议了,易用很多啊。也不会出现“黏包”这种伪科学了。
--
FROM 110.84.122.*
有很多解析方案。比如 HTTP 在头部写上 Content-Length 不用你的这个方案。还有 telnet 就是表现成流,不需要按块传数据。
【 在 wjhtingerx 的大作中提到: 】
: 我知道,但是这个需求太强烈了,协议栈直接做了更方便。真正只用流的场景其实很少,大部分都是需要解析数据的。
--
FROM 110.84.122.*
我说的是 TCP,不是 IP.
替代 TCP 的已经出现了啊。那个 QUIC 就干得不错。虽然也不是非常完美,我觉得那个协议太重了。我自己弄了个山寨的协议,把 HTTP3/QUIC 拆成了管道、多流、加密、HTTP 四个部分。这些组件可以相互搭配使用,比如多流可以移植到 TCP 上面,加密可选,管道 + 多流 + SSL 做 proxy 等等。
【 在 DreamDreams 的大作中提到: 】
: IP 协议长命的 很
: 即使 如你所说离死不远了,那也得 20年起
: 参考IPv4
: ...................
--
修改:hgoldfish FROM 110.84.122.*
FROM 110.84.122.*
你增加 websocket 的功能,以后写操作系统的就更麻烦了啊。我自己也实现了 websocket 的客户端与服务端,这个协议倒不复杂,但是真正要使用的话,得配合 HTTP 和 SSL 跑在 https 上面才有实用性可言。你说 TCP 做不做?
大家已经不用裸的 TCP,现在大多数在互联网上面跑的都是跑在 SSL 上面了。互联网上面各种对 TCP 进行拦截、监控的。太不安全了。天天被发 RST 包,早晚大家都会迁移到 QUIC 这一类协议上。
【 在 wjhtingerx 的大作中提到: 】
: 不需要的不用就行了呗,增加一种模式方便需要的人用,或者增加一个融合了TCP和UDP的协议。其实就是在内部集成个websocket的功能?
: 你说的TCP离死不远,是因为啥?
: 在 hgoldfish 的大作中提到: 】
: ...................
--
修改:hgoldfish FROM 110.84.122.*
FROM 110.84.122.*
kcp 不是做这个的。楼主是想像 UDP 一样使用 TCP,而 KCP 是把 UDP 用成 TCP. 反的。
【 在 emirbobo 的大作中提到: 】
: KCP了解一下
--
FROM 110.84.122.*