所谓即时通信,本来按原理上来说,对话双方是直接全双工通信,信息交换不经过服务器。最早的是ICQ,国内最早的是OICQ。现在的QQ、微信等算不算即时通讯?有待考察。
即时通信还是需要建一个服务器,只不过,这个服务器只用来建立联系。可以叫做通讯录服务器,里面存储的是注册用户的信息:ID、密码、域名、是否在线等。用户甲如果需要与用户乙通信,先呼叫服务商的通讯录服务器。如果用户乙也在线,则建立两者之间的联系。之后,服务器就不再介入对话。因此,我们可以说,建立联系的过程是C/S模式,对话过程则是P2P模式。
可是,后来这条路走歪了。2021年11月,美国缉毒署(DEA)要求脸书(FaceBook)公司旗下的即时通信软件WhatsApp向他们提供七名中国公民的通信信息。这就表明了,WhstaApp在对话时也是C/S模式。否则,FaceBook怎么通过用户的通信信息?
我自己搞过几个P2P即时通讯,对P2P有所了解。不必看代码,看表现就能判断是不是P2P模式。微信也不是P2P。你可以删除通信信息,这删除的只是存在本机上的信息,你可以从服务器里取回通信信息。这就表明,微信也不是P2P,而是C/S模式。