微信的免费通信功能依赖于互联网数据通道,而非传统短信所使用的运营商短信中心。当用户发送一条文字消息时,微信客户端会先将文本压缩成数据包,通过移动网络或WiFi发送到腾讯的服务器。服务器解析数据包后,根据接收方ID推送到对方客户端。这个过程使用的是IP网络协议,就像在电脑上访问网站一样,只消耗流量,不产生短信费用。为了保护隐私,所有消息在传输中会使用TLS协议加密,服务器端则采用分层存储技术,确保即使服务器被攻击,原始消息也难以被还原。
微信的“摇一摇”和“附近的人”功能依赖多种定位技术。核心是GPS卫星定位,它通过接收至少4颗卫星的信号计算经纬度,精度通常在5-10米内。但在室内或高楼遮挡时,GPS信号减弱,微信会切换至WiFi定位:手机扫描周围WiFi热点的MAC地址,与腾讯维护的全球WiFi数据库比对,估算出大致位置。此外,基站定位作为备用方案,通过测量用户手机与周边通信基站的距离,提供粗略定位。这些数据都会在用户允许的范围内匿名化处理,仅用于匹配附近其他用户,不会暴露精确坐标。
朋友圈的可见范围设置依赖一个动态权限表。当你设置“仅三天可见”后,微信会在后端数据库中为一个用户权限字段添加一个时间戳。每次好友刷新你的朋友圈时,服务器会先检查这个时间戳,只返回距离当前时间三天内的内容。如果某条朋友圈被设置为“不显示”,系统则在该条动态的权限记录中添加一个黑名单字段,将指定好友的ID写入其中。查询时,服务器会比对好友ID是否在字段内,若在则直接跳过,不返回任何数据。这种机制避免了前端过滤,直接从数据库层面控制数据可见性,保证效率。
微信的语音消息采用AMR-NB(Adaptive Multi-Rate Narrowband)编码格式,这是一种高效的有损压缩算法。它通过去除人耳不敏感的音频频率部分,将原本1分钟的模拟语音信号压缩至约60KB-100KB的数据包。即使环境嘈杂,算法也能优先保留人声的基频和主要谐波。当用户按住录音按钮时,手机麦克风将声波转化为数字信号,微信立刻分段压缩并实时上传至服务器,而非全部录完再发送。这样,即使长达60秒的语音,也能在数秒内完成传输。接收方播放时,微信会从服务器缓存第一个数据段,实现“边下载边播放”,避免等待加载。