Node.jsを使って迅速にsocketioサービスを構築します.
3287 ワード
第一歩はnode.jsをダウンロードしてインストールします.
ダウンロードhttp://nodejs.cn/download/ ,インストールパッケージをダウンロードして、ずっとnextでいいです.
インストールが完了したら、node_に入ります.modulesディレクトリを開いてcmdウィンドウを開きます.
コマンドを入力 npm install sockete.ioダウンロードsocketioコンポーネント
第二ステップsocketioサービスを構築する.
node_にありますmodulesディレクトリでserver.jsファイルを作成します.
server.js同級のディレクトリの下でcmdウィンドウを開きます.
node server.jsを入力してください.
第四ステップクライアントの構築
新しいhtmlページにsockete.io.jsを導入します.
ダウンロードhttp://nodejs.cn/download/ ,インストールパッケージをダウンロードして、ずっとnextでいいです.
インストールが完了したら、node_に入ります.modulesディレクトリを開いてcmdウィンドウを開きます.
コマンドを入力 npm install sockete.ioダウンロードsocketioコンポーネント
第二ステップsocketioサービスを構築する.
node_にありますmodulesディレクトリでserver.jsファイルを作成します.
var http=require('http'),io=require('socket.io');
var server=http.createServer(function (req,res) {
try{
res.writeHead(200,{'Content-Type':'text/html'});
req.end('Hello Socket Lover')
}catch(e){
}
})
server.listen(9999);
var socket=io.listen(server);
var userList=new Map();
var connList=new Map();
socket.on('connection',function (client) {
client.on('start',function (userId) {
//
var userConns=userList.get(userId);
if(userConns==null){
userConns=new Map();
}
userConns.set(client,userId);
userList.set(userId,userConns);
connList.set(client,userId);
console.log(' '+userId+' ! '+userList.size+" :"+connList.size);
})
/** **/
client.on('disconnect',function () {
var userId=connList.get(client);
if(userId){
var userConns=userList.get(userId);
if(userConns){
userConns.delete(client);
}
if(userConns.size==0){
userList.delete(userId);
}else{
userList.set(userId,userConns);
}
connList.delete(client)
}
console.log(' '+userId+' ! '+userList.size+" :"+connList.size);
})
});
第三ステップスタートsocketioサービスエンドserver.js同級のディレクトリの下でcmdウィンドウを開きます.
node server.jsを入力してください.
第四ステップクライアントの構築
新しいhtmlページにsockete.io.jsを導入します.
function online(){
var socket=io.connect("http://127.0.0.1:9999/")
socket.on('connect',function () {
socket.emit('start','2');
})
socket.on('message',function (data) {
document.getElementById("msgBox").innerHTML=data;
})
}
online()
このページを起動すると、サービス端末のコンソール出力が成功しました.