I am creating a chat app. Everything works fine on localhost, but when I upload files on hosting to use on website, I can't find the proper way to setting the file to work.
My steps after working local version was npm run build and npm install -g serve uploaded on hosting which after didn't work directly (index.html). After some changes I got it to work but the core of app won't work.
every time i get error on client side
i tried different ports as direct ip/url on client side but still get some of errors...
The code which is use is this: Client side
import "./App.css";
import io from "socket.io-client";
import { useState } from "react";
import Chat from "./Chat";
const socket = io.connect("http://localhost:3001");
function App() {
const [username, setUsername] = useState("");
const [room, setRoom] = useState("");
const [showChat, setShowChat] = useState(false);
const joinRoom = () => {
if (username !== "" && room !== "") {
socket.emit("join_room", room);
setShowChat(true);
}
};
return (
<div className="App">
{!showChat ? (
<div className="joinChatContainer">
<h3>Join A Chat</h3>
<input
type="text"
placeholder="John..."
onChange={(event) => {
setUsername(event.target.value);
}}
/>
<input
type="text"
placeholder="Room ID..."
onChange={(event) => {
setRoom(event.target.value);
}}
/>
<button onClick={joinRoom}>Join A Room</button>
</div>
) : (
<Chat socket={socket} username={username} room={room} />
)}
</div>
);
}
export default App;
and this one is server side
const express = require("express");
const app = express();
const http = require("http");
const cors = require("cors");
const { Server } = require("socket.io");
app.use(cors());
const server = http.createServer(app);
const io = new Server(server, {
cors: {
origin: "http://localhost:3000",
methods: ["GET", "POST"],
},
});
io.on("connection", (socket) => {
console.log(`User Connected: ${socket.id}`);
socket.on("join_room", (data) => {
socket.join(data);
console.log(`User with ID: ${socket.id} joined room: ${data}`);
});
socket.on("send_message", (data) => {
socket.to(data.room).emit("receive_message", data);
});
socket.on("disconnect", () => {
console.log("User Disconnected", socket.id);
});
});
server.listen(3001, () => {
console.log("SERVER RUNNING");
});