基本的な node.js サーバー プログラムを作成し、socket.io を使用してクライアントからいくつかのフィールド データを渡しました (以下を参照)。私はこのビジネスに慣れていないので、かなりうんざりしています。私はこの node-express-socket.io アプローチがすべて Javascript であることを気に入っており、明らかにほとんどのブラウザー (モバイルを含む) で使用可能です。問題は、私が自分の道をいじり、自分が作成したものを完全に理解していないことです! 2つの質問...
1) 「//ajax.googleapis.com...jquery...」を使用する必要がありますか? ブラウザが動作するにはインターネット接続が必要になるため、これは面倒です。インターネット接続を必要とせずに html doc 要素にアクセスする別の方法はありますか?
2) "app.use(express.static...." 行は何をしますか? "app.get..." 関数はこれを機能させる必要があるようです。
私のコードに関するその他の一般的なコメントがあれば、私に聞かせてください!
乾杯、
カーブス
クライアント側のコード:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect(document.location.protocol+'//'+document.location.host);
function clicked(){
$(function(){
var makeInput=$('.app').find('#make').val();
var modelInput=$('.app').find('#model').val();
socket.emit('make', makeInput);
socket.emit('model', modelInput);
});
};
</script>
サーバー側のコード:
var express = require('express');
var http = require('http');
var socketio = require('socket.io');
var app = express();
var server = http.createServer(app);
var io = socketio.listen(server);
app.use(express.static(__dirname));
app.get('/', function (req, res) {
res.render(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
socket.on('make', function (make) {
socket.on('model',function (model){
console.log('recieved message:', make+','+model);
});
});
});
server.listen(8000);