V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
WindProtect
V2EX  ›  JavaScript

请教一个 H5 和 PC 上的程序通讯的问题

  •  
  •   WindProtect · 2022-03-05 09:36:02 +08:00 · 2486 次点击
    这是一个创建于 1024 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的,我们做了个 h5 程序跑手机浏览器上,然后需要在内网中的某台电脑运行一个打印程序来打印内容。

    本来用的 http + websocket 直连 ip 来通讯,也运行良好。但是现在需要在这个 h5 程序加个扫码功能,这样那 h5 程序只能跑在 https 上,这样 websocket 也只能通过 ssl 来连接,使用 wss 的话又无法通过 ip 来直接请求。

    各位有什么能让使用了 ssl 的 H5 程序直接和指定 PC 通讯的方案么?能双向通讯最好,实在不行单向也行。

    13 条回复    2022-03-05 11:51:50 +08:00
    pigspy
        1
    pigspy  
       2022-03-05 09:44:10 +08:00
    那就看能不能使用第三方的服务器来帮助 PC 和网页端建立连接了
    zhouxiajie86
        2
    zhouxiajie86  
       2022-03-05 09:48:31 +08:00
    用 nginx 做下转发
    WindProtect
        3
    WindProtect  
    OP
       2022-03-05 09:59:39 +08:00
    @pigspy 有想过,一个是双方都和服务器建连接,但这又得自己做转发感觉很麻烦。二是用 MQTT ,不过第一次用不熟悉得学习下。就想着问问看有没什么简单的方法可以手机直接请求到 PC 的方案我又想不到的。。

    @zhouxiajie86 nginx 不现实。打印程序不知道跑哪个网络哪个 ip 的,不可能每安装次打印程序就配置一次吧。
    op351
        4
    op351  
       2022-03-05 09:59:51 +08:00
    h5 扫码只能用 https ?这么神奇吗?
    ciddechan
        5
    ciddechan  
       2022-03-05 10:06:23 +08:00
    反正扫码这种需求也不太需要 ws 吧?直接 h5 简单轮询不行?
    qwertyzzz
        6
    qwertyzzz  
       2022-03-05 10:07:04 +08:00
    nginx !
    Rache1
        7
    Rache1  
       2022-03-05 10:14:47 +08:00   ❤️ 1
    最简单办法,给你这个 H5 再添加一个 https 的域名,扫码的时候单独跳到那个域名,扫码完成后再把扫码结果附在 URL 或者用页面表单带回来 http 的页面,然后再拿给 ws 处理。
    WindProtect
        8
    WindProtect  
    OP
       2022-03-05 10:18:44 +08:00
    @op351 对的,要使用摄像头只能开启 ssl 。

    @ciddechan 用 ws 主要是双向通讯用,和扫码没什么关系,扫码处理 js 就能做了,现在问题是因为要加扫码,导致只能开启 https ,然后不管 ws 还是 http 请求,都要开启 ssl 才能访问。然后我弄域名又不能简单指向到哪台内网的主机。
    WindProtect
        9
    WindProtect  
    OP
       2022-03-05 10:20:46 +08:00
    @Rache1 这个可以,我研究下。
    markgor
        10
    markgor  
       2022-03-05 11:09:42 +08:00
    1 、自签证书---缺点是每个客户端要安装证书
    2 、几十块买个域名配个免费证书--缺点涉及费用
    KingPL
        11
    KingPL  
       2022-03-05 11:24:20 +08:00
    开发个安卓 webView 忽略掉 ssl 自签证书,这样跑 https 的 h5 就行
    WindProtect
        12
    WindProtect  
    OP
       2022-03-05 11:50:17 +08:00
    搞定了,弄个 http 的静态页面,就跑 websocket ,传完数据就关,虽然牺牲了双向通讯的功能,不过这功能在这个 h5 暂时没应用,先这么弄了,下班回家。

    再次感谢 @Rache1
    WindProtect
        13
    WindProtect  
    OP
       2022-03-05 11:51:50 +08:00
    @KingPL 能搞 android 我就不这么头痛了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3107 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:39 · PVG 21:39 · LAX 05:39 · JFK 08:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.