Heroku的应用程序与socket.io崩溃

应用程序,一个旨在与Unity客户端通信的API服务器工作得很好,直到我添加了套接字。 使用chrome扩展socket.iotesting仪手动testingsocket.io,certificate它在本地机器上运行得非常好。 现在我已经将它部署到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 

这里有什么暗示为什么应用程序可能会崩溃?

所以对于那些也可能用Heroku遇到麻烦的人来说。 事实certificate,我有我的.gitignore文件中列出的适当的端口设置我的configuration文件。 (我不知道它是如何到达那里!)我没有注意到应用程序启动时的日志,所以我错过了configuration文件丢失的日志。 Heroku的工作人员能够指出这点,我印象深刻。