开发者社区 > 云原生 > Serverless > 正文

我这边flask使用的flask socketi9,但是没有启动wss服务,绑定了0.0.0.0,是

我这边flask使用的flask socketi9,但是没有启动wss服务,绑定了0.0.0.0,是什么问题呢?websocket 起不来。

展开
收起
云上静思 2023-03-12 10:11:02 1169 2
3 条回答
写回答
取消 提交回答
  • 坚持这件事孤独又漫长。

    在 Flask 中使用 Flask-SocketIO 进行 WebSocket 通信时,如果没有启动 WSS (WebSocket Secure) 服务,可能出现无法建立 WebSocket 连接的情况。

    此外,如果服务绑定了 0.0.0.0,但是在客户端使用的是本地 IP 地址或者外网 IP 地址,那么也会出现 WebSocket 连接无法建立的情况。

    解决方法如下:

    • 启动 WSS 服务:启动 WSS (WebSocket Secure) 服务,即使用 SSL/TLS 加密 WebSocket 通信,可以增强数据传输的安全性。可以参考 Flask-SocketIO 的文档来配置 WSS。

    • 检查绑定 IP 地址:确认服务绑定的 IP 地址是否正确,如果客户端使用的 IP 地址与服务绑定的不一致,建立 WebSocket 连接会失败。可以通过将服务绑定到 localhost 或者特定 IP 地址的方式来解决这个问题。

    • 检查防火墙配置:防火墙可能会阻止 WebSocket 通信,需要确认防火墙的配置是否允许 WebSocket 通信。可以将防火墙暂时禁用来测试WebSocket 连接是否可以成功建立。

    2023-03-12 21:21:43
    赞同 展开评论 打赏
  • 具体看你是用的什么运行时,

    如果是python3.9,就不需要实现监听的逻辑,可以参考文档

    https://help.aliyun.com/document_detail/56316.html

    如果需要使用websocket触发,可以参考 https://help.aliyun.com/document_detail/424823.html

    如果是custom runtime,可以参考 https://help.aliyun.com/document_detail/191345.html

    建议提供具体的账号、地域、服务、函数、请求ID以及报错日志信息。

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-03-12 18:19:55
    赞同 展开评论 打赏
  • 可能是因为您没有正确配置 SSL 证书。如果您没有 SSL 证书,您可以考虑使用 Let's Encrypt 等服务免费获取 SSL 证书。另外,您也可以使用自签名证书进行测试,但请注意,自签名证书不安全,最好不要在生产环境中使用。

    2023-03-12 11:06:39
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

快速交付实现商业价值。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载