我嘗試創建發佈 - 即時消息服務失敗。我無法在瀏覽器客戶端收到消息。無法在瀏覽器客戶端中接收郵件
以下代碼來自我的client1.html文件。我相信我遇到的麻煩與客戶訂閱'/頻道'失敗有關。我已經添加了警報,並且正在接收'之前&'但不是'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://[email protected]:8000/faye 404 (Not Found)
此錯誤指向 '菲-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);
瀏覽器代碼看起來不錯。你能提供服務器的faye代碼嗎?我唯一質疑的是你的網址。您顯然已更改了網址,但很難判斷您是否交換了作品並保留了格式,或者只是通過隨機地址進行了操作。 '@'用於發送用戶名/密碼查詢以及請求。 – travis
@travis我已經更新了這個問題。 –