【问题标题】:heroku app crashes with socket.ioheroku 应用程序与 socket.io 崩溃
【发布时间】:2017-06-17 18:45:42
【问题描述】:

应用程序,一个用于与 Unity 客户端通信的 API 服务器工作得很好,直到我添加了套接字。使用 chrome 扩展 socket.io 测试器手动测试 socket.io 证明它在我的本地机器上运行良好。现在我已经将它部署到heroku,它不起作用。它立即崩溃。

通常,这个问题的答案都是关于端口设置不正确,但在这种情况下,我已将端口设置为 process.env.PORT,所以应该没有任何问题。在我添加 socket.io 之前,我的应用 运行良好。

这是我的基本服务器文件:

import express from "express"
import mongoose from "mongoose"
import http from "http"
import config from "./config/index.js"
mongoose.Promise = global.Promise

// mongo
mongoose.connect(config.mongo.uri)
mongoose.connection.on("error", function(err) {
  console.error("MongoDB services error: " + err)
})

// server
let app = express()
let server = http.createServer(app)
let socketio = require("socket.io")(server)
require("./socketio").default(socketio)
require("./express").default(app)
require("./api").default(app)

// start
server.listen(config.port, function () {
  console.log("Listening on port: " + config.port)
})

export default app

这里有什么暗示应用程序可能会崩溃的原因吗?

【问题讨论】:

    标签: node.js sockets express heroku socket.io


    【解决方案1】:

    因此,对于任何可能也以这种方式使用 Heroku 的人来说。事实证明,我的 .gitignore 文件中列出了具有正确端口设置的配置文件。 (我不知道它是如何到达那里的!)当应用程序启动时我没有注意日志,所以我错过了配置文件丢失的日志。 Heroku 的员工能够指出这一点给我留下了深刻的印象。

    【讨论】:

    • 我面临同样的问题。却找不到原因
    • 你能解释一下如何添加配置文件,以及如何包含正确的端口设置吗?某处有示例配置文件吗?
    猜你喜欢
    • 2019-02-06
    • 2011-10-03
    • 2015-04-22
    • 2016-11-20
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多