Я безуспешно пытаюсь создать службу обмена мгновенными сообщениями pub-sub. Я не могу получать сообщения в клиенте браузера.
Следующий код взят из моего файла client1.html. Я считаю, что проблема, с которой я столкнулся, связана с тем, что клиент неудачно подписался на «/ канал». Я добавил предупреждения и получаю «ДО и ПОСЛЕ», но не «ВО ВРЕМЯ», и текст сообщения не появляется на консоли. Любые мысли о том, почему клиент не может видеть сообщения в браузере, будут оценены.
var client = new Faye.Client('/faye',{
timeout: 20
});
alert("BEFORE client subscription");
client.subscribe('/channel', function(message) {
$('#messages').append('<p>' + message.text + '</p>');
alert("DURING client subscription");
console.log(message.text);
});
alert("AFTER client subscription");
Консоль браузера неоднократно повторяет следующую ошибку:
POST http://my.server@server:8000/faye 404 (Not Found)
Эта ошибка указывает на «faye-browser.js:2023», который ссылается на следующую строку:
xhr.send(Faye.toJSON(message));
ИЗМЕНИТЬ Это файл server.js.
var fs = require("fs");
var config = JSON.parse(fs.readFileSync("config.json"));
var host = config.host;
var port=config.port;
var express = require("express");
var Faye = require('faye');
var bayeux = new Faye.NodeAdapter({mount: '/faye', timeout:45});
var app = express();
app.configure(function(){
app.use(express.bodyParser());
app.use(express.static('/'+__dirname));
});
app.post('/message', function(request, response){
bayeux.getClient().publish('/channel', {text:request.body.message});
console.log('broadcast message:' + request.body.message);
response.send(200);
});
bayeux.attach(app);
app.listen(port);
@
используется для отправки запроса имени пользователя/пароля вместе с запросом. - person travis   schedule 02.07.2013