V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wt_xp
V2EX  ›  程序员

写聊天室网站,用哪个语言比较有优势?

  •  
  •   wt_xp · Dec 13, 2011 · 8839 views
    This topic created in 5256 days ago, the information mentioned may be changed or developed.
    写一个网站聊天室那种程序,是用哪种语言写比较有优势?
    python,java,Ruby on Rails?
    37 replies    1970-01-01 08:00:00 +08:00
    likuku
        1
    likuku  
       Dec 13, 2011
    开发者最熟练的语言。
    icyflash
        2
    icyflash  
       Dec 13, 2011
    node.js
    SErHo
        3
    SErHo  
       Dec 13, 2011
    Ruby on Rails不是一个语言。
    santa
        4
    santa  
       Dec 13, 2011
    @icyflash 见过一个这么做的人,不过效率上还是有问题吧
    1212e
        5
    1212e  
       Dec 13, 2011
    那也要看是什么优势... 要简单的话应该是php吧?
    VYSE
        6
    VYSE  
       Dec 13, 2011
    HTML5 WEBSOCKET
    mywaiting
        7
    mywaiting  
       Dec 13, 2011
    那必须是NodeJS啊!
    jerry
        8
    jerry  
       Dec 13, 2011
    erlang
    ayanamist
        9
    ayanamist  
       Dec 13, 2011
    这个还真是NodeJS……
    args
        10
    args  
       Dec 13, 2011
    nodejs.....
    aveline
        11
    aveline  
       Dec 13, 2011
    nodejs +1
    darcy
        12
    darcy  
       Dec 13, 2011 via iPod
    快速的实现一个小型聊天室当属node.js
    要迅速扩张估计就比较困难了。
    reducm
        13
    reducm  
       Dec 13, 2011
    http://download.csdn.net/detail/reducm/3318985
    当年(好像就是去年)学习JAVA SERVLET JDBC时候写的一个聊天室程序,还有个略缩图可以看看。代码没分层,纯粹写着玩,实现了群聊私聊贴图表情改色等等等,主要是靠AJAX,私聊放内存,群聊MYSQL

    现在让我写的话,会用rails+redis来做吧
    reducm
        14
    reducm  
       Dec 13, 2011
    理论上当然是服务器主动推送的websocket比较好,但性能上不清楚这比ajax轮询要好多少,特别解决用户是否在线方面的问题。但不知websocket是不是长链接,是的话也比较耗内存吧?
    54sword
        15
    54sword  
       Dec 13, 2011
    node.js
    VYSE
        16
    VYSE  
       Dec 13, 2011
    @reducm 肯定要KEEP ALIVE SOCKET的拉,就是一个页面常驻的内存。
    Sivan
        17
    Sivan  
       Dec 13, 2011
    node.js
    Ricepig
        18
    Ricepig  
       Dec 13, 2011
    还真是node.js最擅长领域啊
    reducm
        19
    reducm  
       Dec 13, 2011
    @VYSE 那如果人多的话这个内存可能还比较夸张,还有websocket浏览器的兼容问题,话说还不知道2000年初那时的聊天室咋整的?用frame刷新?
    krazy
        20
    krazy  
       Dec 13, 2011
    刚写了一个基于人人的聊天室应用,node.js...
    用的socket.io,不知道怎么评估性能好不好...
    VYSE
        21
    VYSE  
       Dec 13, 2011
    @reducm 。。。不是P2P的,其实服务器可以用任何实现,每个客户端还只是跟服务器进行SOCKET通信而已。
    2000年就是一个frame带<META HTTP-EQUIV="refresh" CONTENT="10">不行的刷新聊天信息列表
    reducm
        22
    reducm  
       Dec 13, 2011
    @VYSE 怎可能P2P啊。。。我意思是在线人数多用长链接而不是用轮询的话,内存占用会不会只高不低。

    想当年在163的聊天室啊。。。拿到多少女生的BP机。。。还真认识了不少人
    VYSE
        23
    VYSE  
       Dec 13, 2011
    @reducm QQ客户端也不会因为服务器端在线人数增加内存啊
    reducm
        24
    reducm  
       Dec 13, 2011
    @VYSE 我是在说服务端啦
    VYSE
        25
    VYSE  
       Dec 13, 2011
    @reducm 我看到一个用JAVA做的实现,用Ruby、Python大负载的话需要数据库或MEMCACHE足够强劲,长期不响应的肯定会关闭SOCKET,内存肯定不是问题
    Kenyth
        26
    Kenyth  
       Dec 13, 2011
    比较实际的方案:
    * server 端支持 non-blocking io 的东西
    * 客户端用 long polling

    去看一个 comet 的实现和 demo ;或者研究一下tornado 和 friendfeed。
    lyxint
        27
    lyxint  
       Dec 13, 2011
    用bash吧...我觉得很有优势
    master
        28
    master  
       Dec 13, 2011
    node.js
    zenwong
        29
    zenwong  
       Dec 13, 2011
    node.js成为大家高并发的首选了?
    lyxint
        30
    lyxint  
       Dec 13, 2011
    web端就web端, 聊天就聊天, 一般都是分开的.
    聊天可以用现成的技术来做, jabber, irc, 都挺好.
    yqjun
        31
    yqjun  
       Dec 13, 2011
    node.js 有时间我也学习做个聊天室
    evlos
        32
    evlos  
       Dec 14, 2011
    为什么不用python呢,node.js比python有什么优势么,感觉tornado给的一个聊天室demo蛮给力的诶。
    iwege
        33
    iwege  
       Dec 14, 2011
    nodejs....
    @evlos
    请搜索 socket.io...
    iwege
        34
    iwege  
       Dec 14, 2011
    @evlos 反正前后端都用js,连后端小白的俺都可以轻松搞定..不用多学一套语言...
    Livid
        35
    Livid  
    MOD
    PRO
       Dec 14, 2011
    frittle
        36
    frittle  
       Dec 14, 2011
    node.js +1 很简单。
    wt_xp
        37
    wt_xp  
    OP
       Dec 14, 2011
    node.js 占用内存大不大?
    如果日平均500人在线,峰值2000人在线的话
    需要多大的内存?
    python+node.js不行么?
    python拓展性是不是很好?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 135ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    ♥ Do have faith in what you're doing.