文章目录
  1. 1. 分享
  2. 2. socketio
  3. 3. 功能
  4. 4. 运行
  5. 5. 界面
  6. 6. 问题

分享

闲着无聊,写了一个基于socketio方面的聊天室demo。初学者可以一看,大神略过。
github地址:https://github.com/kiroChen/node_chat
在线demo:http://node-chat-12934.coding.io/ (用的是coding.net的演示功能,可能会无法访问)

socketio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/ send to current request socket client
socket.emit('message', "this is a test");

// sending to all clients except sender
socket.broadcast.emit('message', "this is a test");

// sending to all clients in 'game' room(channel) except sender
socket.broadcast.to('game').emit('message', 'nice game');

// sending to all clients, include sender
io.sockets.emit('message', "this is a test");

// sending to all clients in 'game' room(channel), include sender
io.sockets.in('game').emit('message', 'cool game');

// sending to individual socketid
io.sockets.socket(socketid).emit('message', 'for your eyes only');

功能

  • 群聊
  • 单聊
  • 发送图片
  • 发送表情

运行

1
2
3
4
5
git clone git@github.com:kiroChen/node_chat.git
cd node_chat
npm install
npm start
//然后打开两个不同浏览器访问localhost:3000,看到效果。

界面

如下图
聊天室界面
参考资料:http://www.tuicool.com/articles/yYbq2a

问题

在cluster模式下不能正常运行,原因是通话句柄无共享,需要redis解决,个人懒,留给有兴趣的朋友去实验

文章目录
  1. 1. 分享
  2. 2. socketio
  3. 3. 功能
  4. 4. 运行
  5. 5. 界面
  6. 6. 问题