Search code examples
node.jswebsocketsocket.iowebrtcnetlify

Socket.io WebRTC Failed to load resource: the server responded with a status of 404 ()


The webRTC code is working fine locally and two users can connect.

After deploying on netlfiy, the users are shown seperately & cannot connect to each other, getting the errors as below

Errors:

Failed to load resource: the server responded with a status of 404 ()    
socket.io/?EIO=3&transport=polling&t=NFjX4WC

server.js (First way)

const express = require("express");
const http = require("http");
const app = express();
const server = http.createServer(app);
const socket = require("socket.io");
const io = socket(server);

const PORT = process.env.PORT || 8000;

server.listen(PORT, () => console.log(`Server is running on port ${PORT}`));

As some previous answers also suggested this

server.js (Second Way)

const express = require("express");
const app = express();
const socket = require("socket.io");

const PORT = process.env.PORT || 8000;
const server = express()
  .use(app)
  .listen(PORT, () => console.log(`Listening Socket on ${PORT}`));

const io = socket(server);

Tried all the ways possible & still can't solve the error! Kindly help, thanks


Solution

  • You can't deploy socket.io servers on netlify. It's only for static pages or simple http requests (functions). https://community.netlify.com/t/help-to-deploy-socket-io-express-nodejs-server/4605