在线演示和 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 测试基本正常.
回复 (1)
@fantasyni 整个基本是 socket.io 贯穿的, 服务端全是处理 socket 的逻辑,
我还没掌握 MVC, 等以后会了 Backbone 我再理一遍前端, 希望到时有心得.
然后过程我是先想好界面, 然后按照浏览的顺序一步步往上加事件和页面绘制的,
大概就一个一边测试一边添加功能的过程, 现在只熟悉这种方式..
我对聊天室的想法是这样的, 搭建介于论坛和聊天之间个工具, 实时刷新, 不过我写的这个让很多人误以为是直白的聊天功能了, 算界面设计有误导.. 我希望结果是一种类似 IRC 的聊天室, 让更多人可以很方便在上面创建主题和聊天.
前面用 {origins: *:*} 允许不安全因素, 为的是任意静态网页的客户端都能连接 socket,
而且也做到了, 会写网页的可以动手定制的客户端, 跟服务器的 socket 交流了.
因为是网页, 客户端的更新/多样/轻巧都很特别, 我觉得会很有趣.
当然到时候服务器的 socket 接口就该更细致才能安全地运行了.