Я создал базовую серверную программу node.js и использовал socket.io для передачи некоторых данных поля от клиента (см. Ниже). Довольно странно, как я новичок в этом бизнесе. Мне понравился этот метод node-express-socket.io как его весь Javascript и, по-видимому, он используется большинством браузеров (включая «мобильный»). Проблема в том, что я немного пошарил и не совсем понял, что я создал! Два вопроса ...Node.js - socket.io web app
1) Нужно ли использовать «//ajax.googleapis.com ... jquery ...»? Это раздражает, так как браузеру необходимо будет подключиться к Интернету. Есть ли другой способ доступа к элементам html doc без необходимости подключения к Интернету?
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
Попробуйте обернуть массив в словаре: '{nums: [1.2, 1.3, 1.4]}'. – marcoseu