nodejs socket.io初探
2013-12-10 14:22
309 查看
1、安装socket.io
2、创建服务端代码server.js
3、创建客户端代码 index.html
4、执行结果
启动服务端:
在浏览器输入 http://localhost:8080/index.html
浏览器打印出: world
命令行打印出:{ my: 'data' }
5、更多资料参见官方网站 http://socket.io/#how-to-use
6、服务端向指定客户端发送消息
思路是客户端与服务端建立连接的时候,服务端保存客户端的信息,做一个socketMap, 在socketMap中取出需要发送消息的客户端,向该客户端发送消息
做一个模拟的简单例子,这里用的是数组:
npm install socket.io
2、创建服务端代码server.js
var app = require('http').createServer(handler), io = require('socket.io').listen(app), fs = require('fs') app.listen(8080); io.set('log level', 1);//将socket.io中的debug信息关闭 function handler (req, res) { fs.readFile(__dirname + '/index.html',function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); }); } io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); });
3、创建客户端代码 index.html
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ssocket</title> <script type="text/javascript" src="http://localhost:8080/socket.io/socket.io.js"></script> </head> <body> <script type="text/javascript"> var socket = io.connect('http://localhost:8080'); socket.on('news', function (data) { alert(data.hello); socket.emit('my other event', { my: 'data' }); }); </script> </body> </html>
4、执行结果
启动服务端:
node server.js
在浏览器输入 http://localhost:8080/index.html
浏览器打印出: world
命令行打印出:{ my: 'data' }
5、更多资料参见官方网站 http://socket.io/#how-to-use
6、服务端向指定客户端发送消息
思路是客户端与服务端建立连接的时候,服务端保存客户端的信息,做一个socketMap, 在socketMap中取出需要发送消息的客户端,向该客户端发送消息
做一个模拟的简单例子,这里用的是数组:
var sockets = []; var i = 1; io.sockets.on('connection', function (socket) { sockets[i] = socket; i++; socket = sockets[1]; //这里指定向第一个客户发送消息 console.log(i); socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); });
相关文章推荐
- nodejs socket.io初探
- 8.Nodejs入门-----web Socket和Socket.IO框架
- 基于nodejs+socket.io的chatrobot
- windows下安装nodejs、 express +、socket.io和redis
- 利用socket.io+nodejs打造简单聊天室
- nodejs学习笔记 -- socket.io笔记
- nodejs之socket.io模块
- NodeJS 使用Socket.IO实例
- java|android 使用SocketIO.jar连接nodejs websocket
- 基于Qt-socketio客户端与Nodejs服务器通讯
- nodejs结合socket.io实现websocket通信功能的方法
- 利用socket.io实现多人聊天室(基于Nodejs)
- Nodejs npm安装socket.io报错解决办法
- Nodejs 即时通信socket.io
- java|android 使用socket.io-client连接nodejs websocket
- nodejs的socket.io
- 通过Socket.IO与nodeJs实现即时消息推送
- Nodejs socket.io 实现私聊:如何给指定客户端发送消息,不是群广播
- c#中的SocketIoClientDotNet库 可用与链接nodejs中的socket.io
- postgres+socket.io+nodejs实时地图应用实践