安裝 npm install socket.io
你可以參考官方的 demo: http://socket.io/ by (http://automattic.com/)
首先需要啟動server backend:
var http = require('http');
var url = require('url');
var fs = require('fs');
var path = require('path');
var io = require('socket.io')(server);
var readline = require('readline');
var server = http.createServer(function(req,res){
var urls = url.parse(req.url);
var relpath = path.join(__dirname,'/www/',urls.pathname);
fs.stat(relpath,function(err,stats){
if(err){
res.writeHead(404,{});
res.end();
}else{
if(stats.isDirectory()){
//is Directory
fs.readFile(relpath+'/index.html',function(err,data){
console.log('View index');
if(err){
res.writeHead(404);
res.end();
}else{
res.writeHead(200,{'Content-Type':'text/html'});
res.end(data);
}
});
}else{
fs.readFile(relpath,function(err,data){
if(err){
res.writeHead(404);
res.end();
}else{
res.writeHead(200,{'Content-Type':'text/html'});
res.end(data);
}
});
}
}
});
});
var rl = readline.createInterface({
input:process.stdin,
output: process.stdout
});
io.on('connection', function(socket){
console.log('connectioned!');
process.stdout.write("KeyWord: ");
rl.on('line',function(cmd){
io.emit(cmd);
});
socket.on('event', function(data){
console.log('Get Event!');
console.log(data);
});
socket.on('disconnect', function(){});
});
server.listen(80);
io.listen(server);
上面寫的 io.on 就是和 front 前端溝通了,接下來前端需要接受資料,用javascript, 也要匯入library:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World</title>
<script type="text/javascript" src="./socket.io/socket.io.js" ></script>
<script>
var socket = io('http://localhost');
socket.on('connect',function(){
console.log("Hello World");
socket.emit('event',15);
});
socket.on('event',function(data){
console.log(data);
});
socket.on('disconnect',function(){});
</script>
</head>
<body>
Hello World
</body>
</html>
整個專案: https://github.com/hpcslag/socket.io
沒有留言:
張貼留言