我创建了一个基本的node.js服务器程序,并使用socket.io从客户端传递了一些字段数据(请参见下文)。因为我是这个行业的新手,所以相当赞赏。我喜欢这个node-express-socket.io方法作为它的所有Javascript,并且显然可以被大多数浏览器(包括'mobile')使用。问题是我有点摸不着头脑,不能完全理解我创造的东西!两个问题...Node.js - socket.io web应用程序
1)我需要使用“//ajax.googleapis.com ... jquery ...”吗?这很烦人,因为浏览器需要连接互联网才能工作。有没有另一种方式访问HTML文档元素,而无需互联网连接?
2)什么的 “app.use(express.static ....” 行办呢? “app.get ...” 功能似乎需要这个工作。
如果有任何关于我的代码等一般性意见请让我拥有它
干杯,
Kirbs
客户端代码:
<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);
谢谢marcoseu非常有帮助,我不知道如何在一个命令中“发射”几个字符串。如果发出的数据是浮点数的数组,你会推荐什么方法? – Kirbs 2013-05-11 13:15:20
尝试将数组包装在字典中:'{nums:[1.2,1.3,1.4]}'。 – marcoseu 2013-05-11 14:15:32