【发布时间】: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