你有没有在微信聊天时,突然发现对方的状态变成了“对方正在输入”,却总也不见消息发出来?大家都习惯认为,只要对方一打字,自己这边立马就能看到提示。实际上,这个过程可没那么简单。“对方正在输入”的出现,需要同时满足两个条件。第一个条件是,你发出消息后,对方必须在10秒内点开对话框。哪怕你说了一句特别长的话,对方只要动作稍微慢一点没及时打开界面,“正在输入”的状态就显示不出来了。第二个条件是,对方必须在输入框内进行实际的文字输入,哪怕只是敲个空格也能行。 这一设计背后的技术原理其实挺巧妙。微信利用了信令握手机制,采用了高效的低功耗通信模式。当你发起聊天时,系统会临时建立一个连接。如果对方在规定的10秒内点进对话框并且开始敲字,服务器就会把这个“正在输入”的信号推送给你。这样既能让你感受到像面对面交流一样的实时感,又不至于太费电、耗流量。 除了常见的“提示一直显示”,还有三种你可能没留意的情况。如果提示断断续续地出现,说明对方正在犹豫反复地修改内容;如果提示完全不显示,原因可能有很多种:要么是对方根本没回你;要么是他发消息的时候已经超过了10秒的时限;要么是他发了个表情包;要么是用电脑在回你消息;要么是他在断网的情况下输入完后再连上网发送的;甚至还可能是对方用手机输入法一次性把所有字都输完后直接点了发送键。只要那个字还没真的飘进聊天框里,你这边就看不见提示。 关于“已读功能”,微信官方也给出了回应。之所以没推出这个功能,主要是为了减轻大家的社交压力。把主动权还给用户,让大家不用总觉得被盯着看必须立刻回复。“正在输入”这种有限度的透明设计很好地平衡了这一点:既表达了对方有回应的意愿,又留给了大家足够的思考时间。 3月26日这天,“微信派”公众号专门发文详细解释了这一机制。这个揭秘不仅解开了很多人的疑惑,也让大家对微信背后的运作逻辑有了更深的了解。下次再遇到“对方正在输入”却迟迟没动静的时候,你就知道该怎么回事了。