How to deploy backedn to vercel
Answered
Small Greek domestic dog posted this in #help-forum
Small Greek domestic dogOP
i have this code how to deploy iy on vercel
require("dotenv").config();
const express = require("express");
const http = require("http");
const { Server } = require("socket.io");
const cors = require("cors");
const app = express();
const server = http.createServer(app);
const CLIENT_URL = process.env.CLIENT_URL;
console.log("client url", CLIENT_URL);
const PORT = process.env.PORT || 5000;
app.use(cors({
origin: CLIENT_URL,
methods: ["GET", "POST"],
credentials: true
}));
const io = new Server(server, {
cors: {
origin: CLIENT_URL,
methods: ["GET", "POST"],
credentials: true
}
});
io.on("connection", (socket) => {
console.log(
socket.on("join", (room) => {
socket.join(room);
console.log(
});
socket.on("leave", (room) => {
socket.leave(room);
console.log(
});
socket.on("getElements", ({ elements, room }) => {
console.log(
socket.to(room).emit("setElements", elements);
});
socket.on("disconnect", () => {
console.log(
});
});
app.get("/hi", (req, res) => {
res.send(
});
server.listen(PORT, () => {
console.log(
});
require("dotenv").config();
const express = require("express");
const http = require("http");
const { Server } = require("socket.io");
const cors = require("cors");
const app = express();
const server = http.createServer(app);
const CLIENT_URL = process.env.CLIENT_URL;
console.log("client url", CLIENT_URL);
const PORT = process.env.PORT || 5000;
app.use(cors({
origin: CLIENT_URL,
methods: ["GET", "POST"],
credentials: true
}));
const io = new Server(server, {
cors: {
origin: CLIENT_URL,
methods: ["GET", "POST"],
credentials: true
}
});
io.on("connection", (socket) => {
console.log(
New client connected: ${socket.id});socket.on("join", (room) => {
socket.join(room);
console.log(
Socket ${socket.id} joined room ${room});});
socket.on("leave", (room) => {
socket.leave(room);
console.log(
Socket ${socket.id} left room ${room});});
socket.on("getElements", ({ elements, room }) => {
console.log(
Received elements for room ${room}:, elements);socket.to(room).emit("setElements", elements);
});
socket.on("disconnect", () => {
console.log(
Client disconnected: ${socket.id});});
});
app.get("/hi", (req, res) => {
res.send(
<marquee>To try the app visit: <a href="${CLIENT_URL}">${CLIENT_URL}</a></marquee>);});
server.listen(PORT, () => {
console.log(
Server listening on port ${PORT});});
Answered by B33fb0n3
vercel itself is serverless. So you can't have a websocket server on it. You need to host it in a serverfull enviorment
10 Replies
@B33fb0n3 vercel itself is server**less**. So you can't have a websocket server on it. You need to host it in a server**full** enviorment
Small Greek domestic dogOP
any options where to deploy
@Small Greek domestic dog any options where to deploy
I like to rent a server from [netcup](https://www.netcup.de/). That is then a serverfull enviorement
Small Greek domestic dogOP
will render work
@Small Greek domestic dog will render work
of course. It's like your pc, but somewhere from someone else, that runs 24/7
Small Greek domestic dogOP
thz finally worked after taking some rest 🤌
@Small Greek domestic dog thz finally worked after taking some rest 🤌
so your issue is resolved?
Small Greek domestic dogOP
ya
@Small Greek domestic dog ya
Happy to help. Please mark solution
that is not the solution. I marked the correct one. You don't need to do anything