关于ws与wss的区别这里简单的说一下我目前的见解。
如果你有更多的见解欢迎在下方留言讨论。
最简单的理解就是:
服务器上服务端用的是:websocket协议(支持客户端的ws访问)
服务器上服务端用的是:websocket协议+TLS(支持客户端的wss访问)
客户端上用的是: ws协议或者wss协议
Wss与ws其实就和http与https的关系,wss需要验证域名证书,ws不需要验证域名证书。
这个其实都不重要。我们在开发的时候关系不是很大。
下边的才是我要说的重点:
Ws链接可以使用IP+端口号的形式访问。
Wss链接只能使用域名的形式访问,因为服务器端需要通过域名来找对应的ssl证书。
就上边加粗这两句话,在我后续开发的时候,找问题差点没给我头发找没了……大概说一下就是:我在服务器上边使用使用原生swoole的时候链接使用的是:ws://111.231.162.140:9502做测试是没有问题的。使用laravel-swoole测试的时候,我想当然的就认为wss与ws不就是一个证书的区别嘛,证书我有啊,那他们的区别是不是就是一个s的区别了呢?
我就想当然的在laravel-swoole上使用了wss://111.231.162.140:9502,发现不好用,这里大概解释一下,我为啥非得使用wss,因为我是在博客项目中集成swoole,博客有小程序版本的,要兼容小程序的使用,因此,我这里的链接必须是wss。
后来结果就是一顿测试,一顿找,发现使用laravel-swoole测试的时候必须使用的是:wss://guanchao.site/websocket/
这个一定要注意,不能乱用。否则可能找不到出错的地方。
具体使用请参照《swoole(一)laravel8配置使用swoole》
以上大概就是swoole基于ws与wss我发现的一个小小的问题。
有好的建议,请在下方输入你的评论。
欢迎访问个人博客 guanchao.site
欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”