无法在浏览器客户端中接收消息

我尝试创build发布 – 即时消息服务失败。 我无法在浏览器客户端收到消息。

以下代码来自我的client1.html文件。 我相信我遇到的麻烦与客户订阅“/频道”失败有关。 我添加了警报,正在接收'BEFORE&AFTER',但不是'DURING',并且message.text没有出现在控制台上。 任何想法,为什么客户端无法看到在浏览器上的消息,将不胜感激。

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); 

我刚刚为我们的应用程序configuration了Faye,你正在做

 bayeux.attach(app); app.listen(port); 

没有为我工作,这是什么工作

 bayeux.attach(app.listen(port, function() {})); 

我也认为你应该在创buildFaye时使用整个url,而不仅仅是最后一部分,就像这样:

 var client = new Faye.Client('http://my.url.com/faye', { timeout: 20 });