bury
V2EX  ›  问与答

前端 socket 相关求助

  •  
  •   bury · Aug 23, 2023 · 1988 views
    This topic created in 1169 days ago, the information mentioned may be changed or developed.
    一个 websocket 的地址,apifox 上可以建立连接,在网页中连接就会报错,不是很懂,求助一下有没有了解的兄弟
    报错如下:
    WebSocket connection to 'ws://192.168.31.102:1002/socket/line' failed:
    5 replies  •  2023-08-24 13:01:13 +08:00
    lovelylain
    lovelylain
    Aug 23, 2023
    1
    网页是不是 https 的? https 只能连 wss ,不能 ws
    ovoo
    ovoo
    Aug 23, 2023
    2
    猜测是浏览器跨域规则限制的:
    192.168.31.102 是一个私有地址,从公共页面请求私有服务的数据,或者从私有服务请求本地数据,都会触发浏览器跨域限制。

    其它类似限制还有 :

    从公共服务访问私有服务

    从公共服务访问本地服务

    从私有服务访问本地服务


    解决方案:

    1. 把页面升级为 https 可以不受上述规则限制 ,但 https 页面不能访问 ws ,所以不适用

    2. 把页面部署到私有地址上并通过 IP 访问
    bury
    bury
    OP
    Aug 24, 2023
    3
    @lovelylain http 的
    bury
    bury
    OP
    Aug 24, 2023
    4
    @ovoo 通过本地的 vue 服务过过 ip 访问也不可以
    julyclyde
    julyclyde
    Aug 24, 2023
    5
    websocket 和 socket 根本两码事
    websocket 依法没有粘包问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1313 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:05 · PVG 05:05 · LAX 13:05 · JFK 16:05
    ♥ Do have faith in what you're doing.