node.js+socket.io私人聊天
来源:互联网 发布:淘宝开店怎么推广 编辑:程序博客网 时间:2024/05/04 05:54
项目需要,所以学习使用node.js +socket.io实现私人聊天功能,忙活了大半天终于搞明白了,基本原理就是当server端接收到
socket连接请求的时候,就会每一个建立一个socket,而连接的socket由于没有表示,所以每一个socket只可以发送给自己信息,如果要
发送给其他的socket连接信息需要标识其他的socket连接。
废话不多说了,上代码。。
server.js
var io = require('socket.io').listen(8080);io.set('log level', 1);var users = {};io.sockets.on('connection', function (socket) { io.sockets.emit('connect',{hell:'boy'}); socket.on('private message', function (from,to,msg) { console.log('I received a private message by ', from, ' say to ',to, msg);if(to in users){users[to].emit('to'+to,{mess:msg});} }); socket.on('new user',function(data){ if(data in users){ }else{var nickname = data;users[nickname]= socket; } console.info(users); }); socket.on('disconnect', function () { io.sockets.emit('user disconnected'); });});测试页面index.html
<html><head><meta charset="utf-8"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="http://localhost:8080/socket.io/socket.io.js"></script> <script> $(function(){ var socket = io.connect('http://localhost:8080');socket.on('connect', function (data) {console.log(data);}); $("#send").click(function(e){var from = $('#user_name').val(), msg = $('#message').val(), to = $('#to').val(), $message_list = $('#message_list'); socket.emit('new user',from); socket.emit('private message',from,to,msg); socket.on('to'+from, function (data) {$message_list.append('<li>'+data.from+'说'+data.message+'<li>');}); }); }); </script></head><body>姓名:<input id="user_name" type="text"/><br>发送给:<input type="text" id="to"/><br>消息内容:<input type="text" id="message" /><button type="button" id="send">发送</button><ul id="message_list"></ul></body></html>项目运行效果:
图示二:
OK,终于可以私聊了。。。
0 0
- node.js+socket.io私人聊天
- Javascript+Ajax+Node JS +socket .io +mysql 实现在线私人聊天
- Socket.IO 和 Node.js 聊天程序
- Socket.IO 和 Node.js 聊天程序
- Node.js+socket.io简单在线聊天
- 基于Node.js + socket.io实现WebSocket的聊天DEMO
- node.js+socket.io实时聊天小测验总结
- centOS6.5 node.js+socket.IO搭建WebSocket,实时聊天
- node.js + socket.io 实现点对点随机匹配聊天
- 使用node.js与socket.io搭建即时聊天系统
- node+socket 即时聊天 掌握node socket.io基本流程
- socket.io node.js mysql
- Node.JS 利用socket.io 实现dj播放及聊天程序 代码
- H5+MUI+Node.js+Socket.io实现即时聊天以及发送+图片压缩+图片预览保存
- H5+MUI+Node.js+Socket.io群组即时聊天+发送图片+图片压缩
- ubuntu install node.js socket.io
- Socket.IO 和 Node.js 入门
- node.js+socket.io配置详解
- play framework anorm 批量执行
- LVM逻辑卷概述和安装
- 羊皮卷2
- hdu 2089 不要62
- IOS开发,XMPP实现聊天,即时通讯(二)
- node.js+socket.io私人聊天
- java 第十一天 面向对象(高级篇之接口、对象的多态性,instanceof)
- 编码JDK的不可映射字符解决方法
- 学习OpenCV范例(八)——离散傅立叶变换
- 归并排序
- UVa 562 - Dividing coins
- 讲述三层交换机的路由连接方法
- JAVA的交集、差集、并集 整理
- AndEngine Example(5):SpriteBatchExample