Socket.io и Heroku - сбой приложения со статусом 503 - проблема с "/socket.io/?EIO=3&transport=polling" случайным образом - PullRequest
1 голос
/ 01 апреля 2020


Я работаю над приложением, размещенным на 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 и проблемы, связанной с динамо?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...