WS转WSS协议

WS转WSS协议,第1张

在微信小程序的直播室里实现即时聊天功能,通过简单的websocket实现实时通讯,一开始使用的协议是ws://。后来因为微信小程序只支持wss协议,所以需要转为wss协议实现websocket连接。

要完成转wss协议,需要的步骤:1、申请一个域名;2、一台公网服务;3、域名绑定;4、为域名申请SSL证书;5、配置Nginx代理。

前面的三步已经完成。

例如:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp objs/nginx /usr/local/nginx/sbin/nginx

项目场景:

一个im项目在测试准备上线的时候,发现微信小程序在正式阶段只支持wss协议

问题描述:

提示:发现微信小程序在正式阶段只支持wss协议,由于通信采用https,所以ws协议无法直接使用,测试开发阶段可以采用ws协议进行

原因分析:

原因在于https和http不能混合使用,wss和ws也是对应的,https下无法使用http和ws协议

解决方案:

于是想到采用nginx代理的方式进行协议转换,解决通信问题,这样既不用修改服务端代码,也不需要修改客户端代码,一举多得。

话不多说,上nginx配置:

小程序的websocket协议是wss的,可以理解为ws+ssl,刚上线的时候只能够开一个websocket的入口,针对于单纯的聊天应用或者简单的交互应用是足够的,但如果有玩游戏的同时又要聊天,那么一个websocket就显然不够了,后来新增了一个sockettask,在使用小程序主websocket的同时,还可以使用sockettask新开websocket链接,相当于多开了个线程去通信。

更多具体的使用方法,可以参考微信小程序官方发布的开发文档。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11970559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存