javascript - 当我运行 server.js 和 client.js 并访问 localhost 时,为什么会收到错误请求?

标签 javascript node.js faye

我是 Node.js 新手

我正在尝试使用 pub/sub faye Node 模块来创建发布/订阅 Web 应用程序。

我有以下文件和文件夹:node_modules 文件夹中的依赖项、一个 sever.js 文件和一个 client.js

我的 server.js 包含以下代码:

var http = require('http'),
faye = require('faye');

var server = http.createServer(),
bayeux = new faye.NodeAdapter({mount: '/'});

bayeux.attach(server);
server.listen(8000);

至于我的client.js文件,它包含以下代码:

var faye = require('faye')
var client = new faye.Client('http://localhost:8000/');

client.subscribe('/messages', function(message) { 
alert('Got a message: ' + message.text); 
});

client.publish('/messages', {
text: 'HAI!'
})

我进入终端并运行 Node server.js 和 Node client.js

当我进入浏览器并运行 localhost:8000 时,我得到的只是一个错误的请求。

为什么我会得到这个?我怀疑我没有任何页面可以显示某些内容。 有人可以向我指出我缺少什么吗?

谢谢。

最佳答案

您收到该错误是因为您已将 Faye 安装在 / 处。因此,如果您尝试浏览 /,服务器期待的是 Faye 客户端,而不是普通的 HTTP 请求。

有一个browser client example显示如何与安装在 /faye 的 Faye 连接。您还可以将 request 处理程序传递到 http.createServer() 中,这样您就可以在 Faye 之前处理请求,以防您想要响应特定请求。

关于javascript - 当我运行 server.js 和 client.js 并访问 localhost 时,为什么会收到错误请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26833414/

相关文章:

javascript - 如何使用 raphael.js 中的 paper.path 对象创建动态椭圆

javascript - Gijgo DateTimePicker 过去日期禁用

javascript - Html 和 JavaScript : how to switch download link to button

node.js - 从 Node js 中的 axios 调用调用时,用户代理信息不正确

javascript - 我如何存储 JSON 对象或其特定值以供进一步使用(Angular)?我唯一能做的就是记录它们

javascript - 每个键盘事件是否有任何文件/类保持常量?

node.js - nodejs+Q promise : no Reference Exception in the fulfillment handle

ruby-on-rails - Faye in jruby on rails

node.js - 终止 Faye 客户端连接

ruby-on-rails-4 - 选择 Faye 还是 Rails 4 Actioncontroller::Live 的困惑