Я работаю над приложением, размещенным на Heroku , которое использует Socket.io и Express. Это похоже на приложение чата с разными комнатами.
Иногда (я не понимаю, когда) возникает ошибка, из-за которой приложение превращается в sh:
at=error code=H10 desc="App crashed" method=GET path="/socket.io/?EIO=3&transport=polling&t=N4rsTCG" request_id=d10f368f-7617-4d15-af4a-6caefee70e44 fwd="47.30.198.19" dyno= connect= service= status=503 bytes= protocol=https
Я не думаю, что проблема в Heroku, но Socket.io
Как я уже сказал, ошибка не всегда воспроизводима, но возникает случайно. Я не могу воспроизвести локально.
Это часть сервера . js:
const express = require("express");
const app = express();
const http = require("http").createServer(app);
const io = require("socket.io")(http);
const bodyParser = require("body-parser");
const PORT = process.env.PORT || 3000;
...
Это часть клиента . js:
const socket = io();
...
socket.emit("join", room);
...
Это пакет . json:
{
"name": "",
"version": "0.0.1",
"description": "",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.15.2",
"socket.io": "^2.3.0"
},
"scripts": {
"start": "node server.js"
}
}
Я прочитал, что это может быть 404, когда socket.io пытается получить EIO = 3 & транспорт = опрос, но почему это происходит случайно? Может ли это быть из-за Heroku и проблемы, связанной с динамо?
Спасибо!