继续尝试搭简单的聊天室
发布于 12 年前 作者 jiyinyiyong 4074 次浏览 最后一次编辑是 8 年前

在线演示和 github 上的代码, 用 CoffeeScript 写的: http://jiyinyiyong.github.com/zhongli/clients/demo.html https://github.com/jiyinyiyong/zhongli/tree/gh-pages 有点担心, 如果页面宕了, 这边有写一半时候的视频: http://www.tudou.com/programs/view/LcPeUOwvTWk/ 技术还是菜, 不过还是想探索 Node 折腾聊天能什么样子.

大致特性:

  • 话题/内容分成两级, 有点接近论坛, 因为也没做在线用户显示功能
  • 服务端/客户端分离, 借助 socket.io {origins:*:*} 的配置, 我把页面放到 gitpages 了
  • 通过 json 传输内容, 把处理过程包到 try/catch, 以免造成服务器停止
  • 快捷键, ESC 在话题和内容跳转, tab 聚焦到输入框, 上下方向键
  • 半年前不会数据库, 现在勉强用 mongodb 存储了,
  • 做了个简陋的后台, log 页面 auth() 函数基础上可以进去… 删帖
  • 同步到字的功能依然在, 用了点技俩减少一小部分重复发送
  • 可以设置更改 Guest 用户名. 然后还加了个时间显示

想法比较私人化, 不过聊天这种一个人聊不起来, 想的不周到估计很多, 还是确认能运行了了再说了… 我从 Ubuntu Chromium 测试基本正常.

2 回复

支持 LZ 多分享分享开发心得

@fantasyni 整个基本是 socket.io 贯穿的, 服务端全是处理 socket 的逻辑, 我还没掌握 MVC, 等以后会了 Backbone 我再理一遍前端, 希望到时有心得. 然后过程我是先想好界面, 然后按照浏览的顺序一步步往上加事件和页面绘制的, 大概就一个一边测试一边添加功能的过程, 现在只熟悉这种方式…

我对聊天室的想法是这样的, 搭建介于论坛和聊天之间个工具, 实时刷新, 不过我写的这个让很多人误以为是直白的聊天功能了, 算界面设计有误导… 我希望结果是一种类似 IRC 的聊天室, 让更多人可以很方便在上面创建主题和聊天.

前面用 {origins: *:*} 允许不安全因素, 为的是任意静态网页的客户端都能连接 socket, 而且也做到了, 会写网页的可以动手定制的客户端, 跟服务器的 socket 交流了. 因为是网页, 客户端的更新/多样/轻巧都很特别, 我觉得会很有趣. 当然到时候服务器的 socket 接口就该更细致才能安全地运行了.

回到顶部