对于一个具有数据时效性的实时应用来说,一个优良的网络组织方式可以大大减少服务端的负载压力。关于直播,首先要了解在 Web 领域中实现实时数据传输的方式有轮询通信和双工通信两种。其中轮询通信是指,由于前端开发领域可用的基础技术限制太大,无法实现真正意义上的实时数据传输,而采取的一种取巧的实现类实时通信的方式。而双工通信指的是,客户端和服务端之间可以保持一个开启的、双向通信的数据连接,为典型的例子便是 TCP/IP 协议。在前端开发领域中,双工通信的典型的是 WebSocket 协议,可以实现客户端(浏览器)和服务端之间的常开连接。
因为 Duel Living 只是一个实验性项目,我们并不需要向下兼容较为老旧的浏览器版本,只需要使用 WebSocket 来实现客户端和服务端之间的实时双工通信即可。
网络架构
虽说有了可以实现实时数据流的技术,但是从网络架构角度看,许多客户端与服务端之间的通信依然有多种不同的方法,而且这些不同架构之间若能合理利用,可以使整个软件架构发挥到大的功用。
集中架构
如图 5.4 所示,集中架构是 Web 服务端开发中为常见也为简单的架构方式,即所有的客户端请求全部由同一个服务端程序进行处理。在直播网络中则体现为所有的客户端与服务端都建立 WebSocket 连接,即当主持人通过直播端发布一条消息时,服务端程序会将这条消息发布到每一个客户端中。
杭州晓米网络科技有限公司专注于临时网络搭建,直播网络租赁,直播基站租赁,临时网络租赁,无线网络租赁等