V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chocoluffy
V2EX  ›  分享创造

socket.io 开发多人聊天室教程

  •  1
     
  •   chocoluffy ·
    chocoluffy · 2016-05-24 11:29:45 +08:00 · 3598 次点击
    这是一个创建于 2884 天前的主题,其中的信息可能已经有所发展或是发生改变。

    socket.io 搭配 express 写的一个多人聊天室应用, 同时借这个机会复习了一下 socket 及 TCP/IP 的一些细节知识, 在 UI 上用 jquery , 简洁而快速地完成一些基础前端样式的开发, 开发时用 nodemon 和 browser-sync 来辅助开发流程。

    博文原链接; 在线 Demo-网页版; github 源代码, 欢迎提交 bug issue 或者 pull request~

    demo-multusers

    5 条回复    2016-05-25 14:02:55 +08:00
    Moker
        1
    Moker  
       2016-05-24 11:51:59 +08:00
    上次自己也瞎写了一个 还可以做实时弹幕
    chocoluffy
        2
    chocoluffy  
    OP
       2016-05-24 21:40:53 +08:00
    @Moker 一开始也想过写成弹幕或者冒泡的样子, 结果最后还是乖乖地写对话框的样式😂
    yimity
        3
    yimity  
       2016-05-25 08:53:31 +08:00
    session 登录等的控制怎么做的?
    chocoluffy
        4
    chocoluffy  
    OP
       2016-05-25 10:11:23 +08:00
    @yimity 我是在服务器端将 socket 的 id 和用户的 profile 绑定存在一个 hash 里面, 所以只要在同一次登录里面, 就一直都是同一个用户 profile 了, 如果你再进入网页一次或者刷新, 浏览器会用另一个 socket 和服务器连接, 服务器的 hash 也会更新, 前一次的数据也会 remove 掉。 有点类似 session.id 的感觉, 不过还是有点区别的, 我这是暂时的, hash 也存在内存里, 只保存在线用户的 profile 数据。希望自己有解释清楚~
    yimity
        5
    yimity  
       2016-05-25 14:02:55 +08:00
    @chocoluffy 嗯,大概明白了,谢谢啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3378 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:41 · PVG 20:41 · LAX 05:41 · JFK 08:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.