node.js - 我可以在 bluemix 上为我的应用程序保留另一个端口吗?

标签 node.js socket.io ibm-cloud

我正在编写一个 node.js Express 应用程序,它有一个网络服务器来提供路由:

app.listen(process.env.PORT || 3000, () => {
  console.log("app is listening on port: " + (process.env.PORT || 3000));
  console.log("\n");
});

我还想使用 socket.io 将数据“流”到我的页面。我认为我需要读取一个单独的端口号。我已经完成了这个在本地运行的很好:

var server = require('http').Server();
var Server = require('socket.io');
var io = Server(8080);

所以我的问题是,由于我不能使用相同的端口 (process.env.PORT),我可以从 bluemix 获取不同的辅助端口号来使用吗?或者这究竟应该做什么?

最佳答案

您可以在同一端口上使用 http 和 websocket。

var io = require('socket.io')();
...
io.listen(app.listen(process.env.PORT, function() {
    console.log("server starting on port " + process.env.PORT);
}));

关于node.js - 我可以在 bluemix 上为我的应用程序保留另一个端口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40664197/

相关文章:

python - 在本地设置 Bluemix VCAP_SERVICES 环境变量以便我可以在本地进行开发?

ios - Socket.io 不会按需关闭套接字(并且不允许我的 swift 应用程序再次重新连接到 node.js 服务器)

javascript - 在 Node.js 中解析 JSON 时遇到问题

session - 在 Bluemix Active Deploy 期间保留 Liberty session

javascript - session 身份验证类型错误: Property 'type' of object #<ServerResponse> is not a function

javascript - 可以在没有 ssh 访问或保持终端运行的情况下构建使用 socket.io 的网络聊天应用程序吗?

php - 如何在 Bluemix php 中部署自定义骨架应用程序

json - 将对象从 MongoDB 游标流式传输到 Nodejs HTTP 响应

node.js - 无法触发 Node 流的完成事件

node.js - 如何在 Mongoose/MongoDB 中聚合两个集合?