dellch
V2EX  ›  PHP

PHP 要实现类似网页版微信扫描登录的功能,用什么方法比较好?

  •  
  •   dellch · Sep 18, 2015 · 5760 views
    This topic created in 3916 days ago, the information mentioned may be changed or developed.
    一个项目想实现类似的功能,目前的想法用长连接(不用轮询)来实现,只需要扫描登录就行,有没有什么比较简单的方法?
    网上找来一圈,有的说用 swoole ,有的说最好用 node.js ,感觉都比较复杂,有没有比较简单的办法呢,最好给出参考链接。谢谢~
    还有,项目用的是 CI ,怎么集成进来?
    21 replies    2015-09-20 21:34:32 +08:00
    orvice
        1
    orvice  
       Sep 18, 2015
    websocket
    ljbha007
        2
    ljbha007  
       Sep 18, 2015
    jaguar
        3
    jaguar  
       Sep 18, 2015 via Android
    setinterval
    honkew
        4
    honkew  
       Sep 18, 2015
    最简单是 ajax 是吧
    jugelizi
        5
    jugelizi  
       Sep 18, 2015
    你看支付宝的 就是 ajax 定时
    pein
        6
    pein  
       Sep 18, 2015   ❤️ 1
    原理上就 http 长连接、长轮询和 websocket 这几种,长连接和长轮询简单点,长连接其实就是把循环放到服务器上做。
    dong3580
        7
    dong3580  
       Sep 18, 2015 via Android
    约定算法,加个 api 接口不就行了,区别只在于一个普通 api 是鼠标点击刷新之类的,一个是摄像头打开 api 触发。。。
    dellch
        8
    dellch  
    OP
       Sep 18, 2015
    @ljbha007 使用 socket.io 就要整合 node.js ,感觉有点麻烦。
    @jugelizi 支付宝是 ajax 定时的?如果几百人同时, 1 秒一次服务器会不会 hold 不住?
    google 到一个 phpwebsocket ,不知有没有人用过?
    cevincheung
        9
    cevincheung  
       Sep 18, 2015
    @dellch 二维码放到 redis , 60s 过期,定时。没问题。为啥每个程序员总以为自己每天都有几万亿的访客。
    ljbha007
        10
    ljbha007  
       Sep 18, 2015
    49300289
        11
    49300289  
       Sep 18, 2015
    swoole 吧,你用 php 的话
    shoaly
        12
    shoaly  
       Sep 18, 2015
    关注一个叫野狗的东西, 包装了 楼上说的 socket.io 所有的东西, 有 restful 接口, 这就是你想要的
    dellch
        13
    dellch  
    OP
       Sep 18, 2015
    @cevincheung 的确访问量不会那么大,方案可行。
    http://elephant.io 和 swoole 觉复杂了一点。
    野狗还是第一次听说,所以 google 了一下
    不得不说一句, google 太快了,几分钟前的帖子已经索引了
    iyaozhen
        14
    iyaozhen  
       Sep 18, 2015
    @cevincheung 「为啥每个程序员总以为自己每天都有几万亿的访客。」 233333

    楼主你还是线上长轮询吧。上了再说
    est
        15
    est  
       Sep 18, 2015
    简单粗暴有效:轮训。
    realpg
        16
    realpg  
    PRO
       Sep 18, 2015
    ajax 轮询 简单粗暴好用 只需要 PHP 即可实现。
    dai269619118
        18
    dai269619118  
       Sep 18, 2015
    我项目也是 ci 写的
    推送打算用 tornado 实现
    如果就这么一个地方需要推送用轮询把
    yield9tk
        19
    yield9tk  
       Sep 18, 2015
    websocket
    dellch
        20
    dellch  
    OP
       Sep 18, 2015
    谢谢各位~准备先用长轮询
    以后再考虑其他方式
    macliu
        21
    macliu  
       Sep 20, 2015
    @shoaly WildDog.com 可以很快做到这些。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5066 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 09:41 · PVG 17:41 · LAX 02:41 · JFK 05:41
    ♥ Do have faith in what you're doing.