Nodejs実現WebSocketコードの例
一、環境設定
1.ダウンロードインストールnodejshttps://nodejs.org/en/download/
2.インストールが完了したら、cmdコマンドを開いて、node--versionを実行します。インストールが成功したかどうか確認してください。もしこのコマンドがないなら、環境変数を設定してください。正常な場合、インストール後に環境変数を自動的に設定します。
二、nodejsモジュールの配置
1.expressモジュールの設置
モジュール紹介:Expressは簡潔で柔軟なnode.js Webアプリケーションのフレームワークであり、様々なWebアプリケーションを作成し、豊富なHTTPツールを提供します。
インストール方式:プロジェクトパスでnpm install expressを実行する
三、ハローワード
1.プロジェクトディレクトリとしてディレクトリを作成します。
2.demo.jsを作成する
4.ブラウザでip:portにアクセスすれば出力できます。
四、アクセスページ
1.プロジェクトパスにページフォルダを作成し、htmlページを作成するa.
2.作成したばかりのdemo.jsに下記のコードを追加します。
五、他のjsを引用する
1.プロジェクトのルートディレクトリでinclude.jsを作成します。内容は以下の通りです。
1.demo.jsに追加し、リンクを要求するhttp://ip:port/?p1=p&p2=2
1.ベスト
demo.jsに下記の内容を追加して訪問します。http://mykl:8000/? parameter=2
demo.jsに下記の内容を追加して訪問します。http://mykl:8000/?parameter=2
1.socketモジュールの取り付け
npm install sockete.io
2.前の段階でインストールしたモジュールパスに入り、socket.io.jsを見つけます。
3.pageの下にhtmlを作成し、上のjsを引用する。
1.ダウンロードインストールnodejshttps://nodejs.org/en/download/
2.インストールが完了したら、cmdコマンドを開いて、node--versionを実行します。インストールが成功したかどうか確認してください。もしこのコマンドがないなら、環境変数を設定してください。正常な場合、インストール後に環境変数を自動的に設定します。
二、nodejsモジュールの配置
1.expressモジュールの設置
モジュール紹介:Expressは簡潔で柔軟なnode.js Webアプリケーションのフレームワークであり、様々なWebアプリケーションを作成し、豊富なHTTPツールを提供します。
インストール方式:プロジェクトパスでnpm install expressを実行する
三、ハローワード
1.プロジェクトディレクトリとしてディレクトリを作成します。
2.demo.jsを作成する
var express = require('express'),// web
app = express(),
server = require('http').createServer(app);// http
server.listen(8000);//
app.get('/', function (req, res) {
res.send('Hello World');// Ip:8000 ,
})
3.プロジェクトディレクトリの下でshift右ボタンを押して、「ここでコマンドウィンドウを開く」を選択して、node demo.jsを実行して、エラーがないと起動できます。4.ブラウザでip:portにアクセスすれば出力できます。
四、アクセスページ
1.プロジェクトパスにページフォルダを作成し、htmlページを作成するa.
2.作成したばかりのdemo.jsに下記のコードを追加します。
var express = require('express'),// web
app = express(),
server = require('http').createServer(app);// http
server.listen(8000);//
app.use('/', express.static(__dirname + '/pages'));// , pages a.html , ip:8000/a.html
//app.use('/', express.static(__dirname + '/pages1'));// , , ,
app.get('/', function (req, res) {
res.send('Hello World');// Ip:8000 ,
})
3.再起動後にip:port/a.にアクセスすれば、このページにアクセスできます。五、他のjsを引用する
1.プロジェクトのルートディレクトリでinclude.jsを作成します。内容は以下の通りです。
var hello = {
sayHello:function(name){
return 'hello,'+name+',this is include.js';
}
}
module.exports=hello;
2.demo.jsに追加する
var express = require('express'),// web
app = express(),
include =require('./include.js'),// js
server = require('http').createServer(app);// http
server.listen(8000);//
app.use('/', express.static(__dirname + '/pages'));// , pages a.html , ip:8000/a.html . "__dirname"
app.get('/', function (req, res) {
res.send(include.sayHello("demo"));
})
六、解析要求パラメータ1.demo.jsに追加し、リンクを要求するhttp://ip:port/?p1=p&p2=2
var express = require('express'),// web
app = express(),
url = require('url'),
server = require('http').createServer(app);// http
server.listen(8000);//
app.use('/', express.static(__dirname + '/pages'));// , pages a.html , ip:8000/a.html . "__dirname"
app.get('/', function (req, res) {
// url
var params = url.parse(req.url, true).query;
res.write(" :" + params.p2);
res.write("
");
res.write(" URL:" + params.p1);
res.end();
})
七、http依頼を送る1.ベスト
demo.jsに下記の内容を追加して訪問します。http://mykl:8000/? parameter=2
var express = require('express'),// web
app = express(),
url = require('url'),
util = require('util'),
include =require('./include.js'),
server = require('http').createServer(app);// http
server.listen(8000);//
app.use('/', express.static(__dirname + '/pages'));// , pages a.html , ip:8000/a.html . "__dirname"
//app.use('/', express.static(__dirname + '/pages1'));// , , ,
app.get('/', function (req, res) {
// url
var params = url.parse(req.url, true).query;
post('https://cang.mini-kaola.cn/pages/MobileWeb/getStorageDatil.htm',{cangId: params.cangid},function(data){
res.write(data);
res.end();
});
})
function post(url,data,fn){
data=data||{};
var content=require('querystring').stringify(data);//
var parse_u=require('url').parse(url,true);
var isHttp=parse_u.protocol=='http:';
var options={
host:parse_u.hostname,
port:parse_u.port||(isHttp?80:443),
path:parse_u.path,
method:'POST',
headers:{
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length':content.length
}
};
var req = require(isHttp?'http':'https').request(options,function(res){//
var _data='';
res.on('data', function(chunk){
_data += chunk;
});
res.on('end', function(){
fn!=undefined && fn(_data);
});
});
req.write(content);
req.end();
}
2.getdemo.jsに下記の内容を追加して訪問します。http://mykl:8000/?parameter=2
var express = require('express'),// web
app = express(),
http=require('http'),
url = require('url'),
include =require('./include.js'),
server = http.createServer(app);// http
server.listen(8000);//
app.use('/', express.static(__dirname + '/pages'));// , pages a.html , ip:8000/a.html . "__dirname"
//app.use('/', express.static(__dirname + '/pages1'));// , , ,
app.get('/', function (req, res) {
// url
var params = url.parse(req.url, true).query;
//get
http.get("http://mykl/storage/pages/MobileWeb/getStorageDatil.htm?cangId="+params.cangid,function(req1,res1){
var html='';
req1.on('data',function(data){
html+=data;
});
req1.on('end',function(){
res.write(html);
res.end();
});
});
})
八、socket1.socketモジュールの取り付け
npm install sockete.io
2.前の段階でインストールしたモジュールパスに入り、socket.io.jsを見つけます。
3.pageの下にhtmlを作成し、上のjsを引用する。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>socket</title>
</head>
<body>
<dev id="show"/>
<br/>
<input type="text" id="nickname"/> <br/>
<input type="text" id="inmsg"/>
<input type="button" id="sendBtn" value=" " />
<br/>
</body>
<script src="socket.io.js"></script>
<script src="jquery-1.11.3.min.js"></script>
<script>
$(function(){
var socket=io.connect();//
$('#sendBtn').click(function(){
var nickname = $('#nickname').val();
var fatext = $('#inmsg').val();
if(fatext!=""){
socket.emit('famsg', nickname+"-"+new Date().toTimeString().substr(0, 8)+":"+fatext+"<br/>");
}
});
socket.on('jiemsg', function(msg) {
$("#show").append(msg);
});
});
</script>
</html>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。