一看就懂
那条
一直通着的线
讲给完全没接触过的人 · 为什么有的消息
是"秒到",有的要等上好几秒
1
一句话
普通网页是「你问一句,它答一句」。
这个是「电话一直通着,
谁有事直接张嘴说」。
名字叫 WebSocket。名字不重要,重要的是那根线一直不挂。
2
它跟原来
差在哪
以 前
每隔几秒去问一次:
「有新的吗?」
像让伙计每隔五秒跑去后厨门口敲一下门问一句。没新东西也得跑,跑一百趟可能九十九趟白跑;真来了活,最慢也要等到下一趟才知道。
现 在
线一直通着,
有事那头直接喊
不用问、不用跑。东西一来,那头张嘴就说,这头立刻听见。省下九十九趟白跑,还从"最慢等五秒"变成"来了就响"。
说白了:一个是反复跑去问,一个是把电话接通不挂。
3
它是怎么
干活的
① 先敲门第一下跟平常打开网页一模一样:这头敲门,那头开门。
② 说好别挂门开了之后两边约一句:「咱们这条线别断,留着。」从这一刻起它就不再是一问一答了。
③ 谁有话谁说两头都能主动开口,不用等对方问。这是它跟老办法最根本的区别。
④ 断了自己重拨线路总会断——换 WiFi、进电梯、机器重启。所以它得自己发现断了、自己拨回去,不用人管。
4
你天天在用
只是没觉察
凡是"不用你动手、它自己就变了"的画面,底下多半是这么一根一直通着的线。
5
它也有
不划算的时候
线一直占着,是要养的
两头都得一直留着人守在电话旁边,机器多、连接多的时候这笔开销不小。
而且它不保证不断——进电梯、换网络、机器重启,说断就断。所以真正靠谱的做法是:线通着的时候走线,断了还得有个笨办法兜底,不能把命全押在它身上。
如果一件事只是"隔半天问一次",老老实实一问一答更省事,不必上这个。
所以它到底改变了什么?
从「我每隔五秒去问一次,最慢五秒才知道」
变成「事情一发生,那边直接喊我」。
差的不是快一点,是要不要有人一直去问。