微信小程序使用的通讯方式主要包括 WebSocket和TCP/UDP。
WebSocket
微信小程序支持WebSocket协议,这是一种在单个TCP连接上进行全双工通信的协议,使得小程序能够实时向服务器发送数据和从服务器接收数据,而无需不断刷新页面。
通过WebSocket,微信小程序可以实现即时通讯功能,包括文字、语音、视频等多种消息形式,以及群聊、私聊、语音通话和视频通话等操作。
TCP/UDP
微信小程序还提供了TCP和UDP的内置API,支持开发者通过这些协议实现前后端的实时通讯。
TCP通常用于对数据完整性要求较高的场景,而UDP则适用于对实时性要求较高的场景,如视频流或音频流的传输。
此外,微信小程序还可以通过以下方式实现页面间通讯:
页面传参:通过页面跳转时传入参数,在目标页面的onLoad生命周期函数中获取传入的参数,实现页面间数据的传递。
全局变量:可以通过设置全局变量,在不同页面之间共享数据,但需要注意全局变量的作用域和生命周期。
Storage API:可以使用微信小程序提供的Storage API,将数据存储在本地缓存中,不同页面之间可以通过Storage API来读取和修改数据。
发布订阅模式:通过事件的发布和订阅来实现页面间的通讯,一个页面发布一个事件,另一个页面订阅这个事件,从而实现数据的传递。
综上所述,微信小程序通过集成WebSocket和TCP/UDP协议,以及提供多种页面间通讯策略,实现了丰富的即时通讯功能,提升了用户之间的互动和沟通效率。