gracece
V2EX  ›  问与答

手机客户端需要长时间连续性给服务器发小数据,服务器端应该选用什么技术?

  •  
  •   gracece · Mar 5, 2014 · 3268 views
    This topic created in 4484 days ago, the information mentioned may be changed or developed.
    类似于微信这种长连接的,之前没做过不知道怎么搜,搜“长连接”等还是未能解决问题。是要用c/c++ 还是python之类的建立socket吗?
    谢谢各位!
    11 replies    1970-01-01 08:00:00 +08:00
    ETiV
        1
    ETiV  
       Mar 5, 2014 via iPhone   ❤️ 1
    如果你会node js,http://socket.io
    andyhuax
        2
    andyhuax  
       Mar 5, 2014 via iPhone   ❤️ 1
    comet
    gracece
        3
    gracece  
    OP
       Mar 5, 2014
    @ETiV 客户端是安卓能配合这个nodejs插件吗?

    @andyhuax 谢谢。。第一眼搜到彗星,我再认真看看。
    ovear
        4
    ovear  
       Mar 5, 2014   ❤️ 1
    默默地推荐下golang
    lijinma
        5
    lijinma  
       Mar 5, 2014   ❤️ 1
    nodejs soket.io 不错的选择
    gracece
        6
    gracece  
    OP
       Mar 5, 2014
    @ovear
    @lijinma
    @andyhuax 假设项目已经有一定的PHP基础呢,搜到这么一个 http://xingqiba.sinaapp.com/?p=1041 有python进行中转,看得比较疑惑,还望解答。
    我这个主要还是客户端长时间发小数据给服务器,服务器基本不用推送什么给客户端的。
    ovear
        7
    ovear  
       Mar 5, 2014   ❤️ 1
    @gracece 不建议使用php做这种事情,他那个代码是要使用php xxx.php 这种cli运行模式运行的,php本身内存泄露不说,单单就他只能使用单核心这一点就有充分的理由不是用它。
    我曾经用php写了个websocket服务端,超过100人效率就严重下降,经常抛出socket reset。
    因为服务器要主动发数据(push 推)给客户端,一般都必须是长连接,使用轮询其一是服务端压力大,其二是客户端费电。
    txlty
        8
    txlty  
       Mar 5, 2014   ❤️ 1
    http://developer.51cto.com/art/201105/262638.htm
    小公司或个人没这个条件。客户端保持链接,加上数据库读写操作。单台服务器扛不住多少并发。
    所以这方面资料少。
    txlty
        9
    txlty  
       Mar 5, 2014
    当年聊天室时代,有个搭建聊天室的软件叫ichat,效率远超iis+asp搭建的聊天室。因为人是c语言写的。
    你要是有实力就用c/c++写服务端。不建议用脚本语言。
    ETiV
        10
    ETiV  
       Mar 6, 2014   ❤️ 1
    答LZ问:

    socket.io 各种客户端库都有的, 你可以github上搜一搜.

    我用它写了一个类似TeamViewer的东西, 用在 Linux 无 GUI, 连接SSH上.

    通过公网服务器搭桥, 直接连到办公室的机器上~ 只用了不到300行代码, 超级方便.
    jedyu
        11
    jedyu  
       Mar 6, 2014   ❤️ 1
    一个socket用c搞定也就没几行代码吧,何必还要去python、nodejs、go之类的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5581 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 01:42 · PVG 09:42 · LAX 18:42 · JFK 21:42
    ♥ Do have faith in what you're doing.