V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dellch
V2EX  ›  PHP

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

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

    楼主你还是线上长轮询吧。上了再说
    est
        15
    est  
       2015-09-18 14:05:00 +08:00
    简单粗暴有效:轮训。
    realpg
        16
    realpg  
       2015-09-18 15:42:21 +08:00
    ajax 轮询 简单粗暴好用 只需要 PHP 即可实现。
    dai269619118
        18
    dai269619118  
       2015-09-18 17:41:21 +08:00
    我项目也是 ci 写的
    推送打算用 tornado 实现
    如果就这么一个地方需要推送用轮询把
    yield9tk
        19
    yield9tk  
       2015-09-18 18:01:09 +08:00
    websocket
    dellch
        20
    dellch  
    OP
       2015-09-18 21:02:52 +08:00
    谢谢各位~准备先用长轮询
    以后再考虑其他方式
    macliu
        21
    macliu  
       2015-09-20 21:34:32 +08:00
    @shoaly WildDog.com 可以很快做到这些。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2787 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:34 · PVG 19:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.