У меня есть простой экспресс JS, состоящий из двух маршрутов. Один для получения HTML-страницы и один для отправки сообщения веб-сокета
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456'
});
router.get('/', function(req, res){
res.sendFile('/express/one/index.html');
});
router.get('/get_me', function(req, res){
res.send('GET route on things.');
io.on('connection', function (socket) {
socket.emit('trial',Math.random());
});
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
});
router.post('/post_me/:one/:two', function(req, res){
res.send('POST route on things.' + req.params.one + req.params.two +'.');
});
router.get('/hello/:name', function(req, res) {
res.send('hello ' + req.params.name + '!');
});
router.get('/hello/:first/:second/:third', function(req, res) {
res.send('hello ' + req.params.first + req.params.second + req.params.third + '!');
});
app.use('/', router);
var server = app.listen(3000);
var io = require('socket.io').listen(server);
На стороне клиента у меня есть
var socket = io('http://localhost:3000');
socket.on('trial', function (data) {
alert(data);
});
Я ожидаю получить случайное число на стороне клиента без обновления при выполнении get_me
Это не тот случай. Я получаю случайное число только при выполнении get_me
и обновлении страницы index.html
.
Так должен работать сокет io (чтобы обновить html-страницу через заданный интервал для получения сообщений)?.
Я из протокола протокола Stomp, но это не так.