原文:http://www.cnblogs.com/xiezhengcai/p/3955827.html
socket.io 一個與服務器實時通信的工具,它與原生的webSocket相比,具有更可靠、快速的優點,並且能很好的兼容不同系統、瀏覽器及設備。http://socket.io/
nodeJS 服務端js解析引擎 http://www.nodejs.org/
一、環境搭建
在服務器上創建目錄socketio,以它為我們的工作空間。
安裝node(略過)
在工作空間下:
安裝socket io模塊,
npm install socket.io
安裝完之后可以看到多一個node_modules目錄,里面有剛才所安裝的socket.io內容
安裝express
express 是一個基於node的web框架
npm install express
可以看到 express到了node_modules目錄下
二、建立socket服務
1 var Server = require('socket.io'); 2 var io = new Server(5555); 3 io.on('connection', function (socket) { 4 socket.emit('msg', { hi: 'Hello,world' }); 5 socket.on('msg', function (data) { 6 console.log(data); 7 }); 8 });
代碼的1-2行顯示了 創建一個socket sever,3-8行監聽當用戶連接之后向用戶發送Hello world,並監聽用戶發送過來的信息將其輸出到控制台
啟動服務:node socketServer.js
客戶端測試
1 var socket = io("ws://103.31.201.154:5555"); 2 socket.on('msg',function(data){ 3 socket.emit('msg', {rp:"fine,thank you"}); 4 console.log(data); 5 });
客戶端監聽服務端發送來的msg消息,同時也向服務端發送一個msg消息。
運行結果:
服務端收到的消息
客戶端收到消息
三、建立http服務器
使用node創建一個http服務器,將我們的客戶端代碼放在服務器下
var express = require('express'); var app = express(); app.get('/', function(req, res) { res.sendfile('/index.html', {root: __dirname + '/client' }); }); app.use('/client', express.static(__dirname + '/client')) app.listen(1111);
啟動 node httpServer.js
我們將客戶端代碼提交到client下,通過 http://103.31.201.154:1111 就可以直接訪問到我們剛寫的index.html
昨天 下午停網 ,回家停電,今天整天停電停網。哭吧......