Это, безусловно, очень наивный вопрос, так как я новичок в node.js.Путаница при запуске очень простого примера socket.io?
Я просто работает очень простой первый Socket.io пример с сайта: http://socket.io/#how-to-use
клиент: index.html:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
сервера: app.js:
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(8080);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
С моей точки зрения я предполагаю, что произойдет, когда сервер получит запрос от клиента, он выведет данные, испускаемые клиентом {my: 'data'}
на консоль, который он делает, но затем он должен также отправить клиенту данные {hello: 'world'}
и когда клиент получит, он также должен регистрировать данные на консоли? На консоли терминала я вижу только {my: 'data'}
для каждого запроса. Является ли сервер неправильным отправкой данных клиенту или я не вижу места?
Видимо, я думаю, что я запутался в некоторых элементарных вещах, но когда вы говорите клиенту, чтобы сделать console.log на javascript на стороне клиента, должен ли отображаться вывод на терминале, который выполняет серверную программу или что-то еще? Если мне нужно проверить вывод на клиентской консоли, куда я должен искать, в браузере?
Надеюсь, кто-нибудь может рассказать мне об этой базовой концепции, я много гугл, но я считаю, что это слишком просто, что большинство просто думают, что люди знают об этом, поэтому я не получил много.
Он будет в браузере. Если вы используете Chrome, вы можете использовать сочетание клавиш opt + cmd + j (я не могу вспомнить ярлык Windows ...), в Firefox вы можете использовать Firebug. – subhaze
Спасибо! Я вижу, так что мне все еще нужно выяснить, как установить Firebug на Ubuntu, что сделает его медленнее на моем компьютере с черепахой, я, скорее всего, воспользуюсь предупреждением вместо этого, чтобы распечатать сообщение. Еще раз спасибо за разъяснение! – Superziyi
Нет проблем. Если вы собираетесь делать много записей, вы можете настроить div, установленный в нижней части страницы, и добавить вывод к его внутреннемуHTML. Не удержался бы от мучительно ударить «ОК» каждый раз :) – subhaze