此篇文章发布距今已超过98天,您需要注意文章的内容或图片是否可用!
比如A给B发微信消息,A显示已经发送成功,但是B并没有收到,可能吗?
A给B发微信消息,A显示已经发送成功。这里的显示“发送成功”,仅仅是A发送的微信消息“成功到达”微信服务器,微信服务器给A发送确认(ACK)。如果微信服务器不给A发送确认(ACK),A的微信会一直转圈圈,一直在重传“没有被ACK”的微信消息。如果重传时间、或重传次数2者谁先到达上限,微信客户端将放弃重传。将在用户消息的尾部添加一个红色的!,提醒用户A消息发送失败。这通常是因为用户A与微信服务器之间的网络处于断开状态。所以,如果微信客户端提示A消息已经成功发送,微信消息已经成功到达服务器。A的微信消息,还没有来得及保存到磁盘阵列,也没有来得及分发给其它服务器,滞留在内存里。A的微信消息将会从服务器消失,因为内存里的数据一旦掉电就全没了。由于服务器通常使用双电源+UPS供电机制,掉电的概率微乎其微,除非发生不可抗力,比如地震什么的。A的微信消息将会从服务器消失,因为内存里的数据一旦重启就全没了(还没来得及保存)。在本文所有失效概率里,这个和野蛮施工挖断光纤的概率尽管很小,但是是不容忽视的。保存到磁盘阵列的微信消息,由于磁盘阵列(RAID 5/6)失效,会影响B接收消息吗?微信做为即时通信软件,只要B处于在线状态,会第一时间通知B,并将处于内存里的消息发送给B。即使B不在线,服务器也会第一时间将A发给B的消息,分发给更多的服务器。磁盘阵列RAID 5/6的失效概率极低极低,除非发生不可抗力,比如地震什么的。但是考虑到微信服务器分布在多个距离遥远的数据中心,因为不可抗力而同时失效的概率,差不多和天上掉陨石砸中某个路人的概率一样低。接收A消息服务器所在的数据中心,由于光纤被野蛮施工全挖断了,B能收到A的消息吗?但是A的消息依然在数据中心,可能还在某台服务器的内存里、磁盘阵列里,或者both。一旦光纤被熔接好,A发给B消息尽管姗姗来迟,但还是会到达B。最后,A的微信消息,还需要内容健康性体检。如果体检不合格,B收不到。推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
https://ZhouSa.com
还没有评论,来说两句吧...