swoole(二)ws与wss的区别

776 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情

关于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

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”