серверный:
var _ = require('lodash');
var http = require('http');
var server = require('http').createServer();
var io = require('socket.io')(server);
var argv = require('minimist')(process.argv.slice(2));
var mysql = require('mysql');
var port = argv.p || 3000;
var host = argv.h || 'localhost';
connection.connect();
server.listen(port, host, function () {
console.log('Server listening at address %s:%d', host, port);
});
io.on('connection', function(socket) {
/**
* Обновление доски.
*/
socket.on('new_board', function (data) {
// Оповещаем всех пользователей о смене доски
io.emit('update_board', {board: data});
console.log('Change board to: ' + data.user);
});
});
// Запускаем логгер
setTimeout(logStatus, 1000);
// Запускаем оповещение
setTimeout(broadcatsUserCount, 1000);
клиентский:
$(document).ready(function () {
window.socket.on('update_board', function (data) {
data = data.board;
$('#id_board-user').text(data.user);
$('#id_board-rating-text').text(data.rating_text);
$('#id_board-refbek').text(data.refbek);
$('#id_board-link').attr('href', '/wall.php?uid=' + data.idu);
$('#id_board-avatar')
.attr('src', data.avatar)
.attr('title', 'Перейти на стену ' + data.user);
if (data.komment) {
$('#id_board-comment-block').show();
$('#id_board-comment').text(data.komment);
} else {
$('#id_board-comment-block').hide();
}
console.log(data.board);
});
});
Но каждые 10 сек ломается подключение к соккету, в консоле хрома:
Failed to load resource: net::ERR_EMPTY_RESPONSE
http://mysite.com:3000/socket.io/?EIO=3&tr...1453153266382-0 Failed to load resource: net::ERR_EMPTY_RESPONSE
Страничку обновишь и всё ок. через минуту опять так же. Может и 5 сек провисеть и сломаться
Ну и из за этого соответственно и не всегда проходят оповещения в сокет которые надо раздать:
<script>:angry:
$(document).ready(function () {
window.socket.emit('new_board', JSON.parse('<?= $json_data ?>'));
});
</script>