PHP 要实现类似网页版微信扫描登录的功能,用什么方法比较好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dellch
V2EX    PHP

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

  •  
  •   dellch 2015-09-18 08:37:37 +08:00 5277 次点击
    这是一个创建于 3677 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个项目想实现类似的功能,目前的想法用长连接(不用轮询)来实现,只需要扫描登录就行,有没有什么比较简单的方法?
    网上找来一圈,有的说用 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  
    PRO
       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     Solana     2881 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:20 PVG 08:20 LAX 17:20 JFK 20:20
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86