Skip to content

Commit

Permalink
bug fixed and improvement
Browse files Browse the repository at this point in the history
same message is printing two times : fixed
  • Loading branch information
sankhadip-roy committed Apr 26, 2024
1 parent 878ba41 commit d5b4ed7
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 50 deletions.
5 changes: 1 addition & 4 deletions backend/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@ const io = new Server(server, {

io.on("connection", (socket) => {
console.log(`User connected ${socket.id}`);

// Handle 'send_message' event
socket.on('send_message', (data) => {
console.log(`Received message: ${data.message}`);
// Broadcast the message to all connected clients
console.log("Data:", data);
io.emit('recive_message', data);
});

Expand Down
8 changes: 0 additions & 8 deletions frontend/README.md

This file was deleted.

25 changes: 14 additions & 11 deletions frontend/index.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>

<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>chat</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>

</html>
1 change: 0 additions & 1 deletion frontend/public/vite.svg

This file was deleted.

50 changes: 25 additions & 25 deletions frontend/src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,35 +1,31 @@
import { io } from "socket.io-client";
import { useState, useEffect } from 'react'
import './App.css'
const socket = io.connect("http://localhost:3001");

const socket = io.connect("http://localhost:3001");

function App() {
const [username, setusername] = useState('');
const [msg, setmsg] = useState('');

const [data_rcv, setdata_rcv] = useState([]);
const sendMessage = () => {
socket.emit('send_message', {
username: username,
message: msg
});
}
useEffect(() => {
try {
socket.on("recive_message", (data) => {
setdata_rcv((state) => [
...state,
{
username: data.username,
message: data.message
}
])
if (username && msg) {
socket.emit('send_message', {
username: username,
message: msg
});
} catch (error) {
console.log(error)
setmsg('');
}
}, [socket])
}
useEffect(() => {
socket.on("recive_message", (data) => {
setdata_rcv((prevMessages) => [...prevMessages, data]);
});
return () => {
socket.off("recive_message");
};
}, []);
return (
<>
<div className='App'>
Expand All @@ -38,18 +34,22 @@ function App() {
<input type="text" placeholder='Write your message' value={msg} onChange={(e) => setmsg(e.target.value)} />
<button onClick={sendMessage}>Send</button>
</div>
<div>
<h3>Chat Room</h3>
<div style={{
border: '1px solid black',
padding: '10px'
}}>
{data_rcv.map((msg, i) => (
<div>
{i}.
<span>{msg.username}</span> :
<div key={i}>
{i + 1}.&nbsp;
<span>{msg.username}</span> : &nbsp;
<span>{msg.message}</span>
</div>
))}
</div>
</div>
</div >
</>
)
}

export default App
export default App;
1 change: 0 additions & 1 deletion frontend/src/assets/react.svg

This file was deleted.

0 comments on commit d5b4ed7

Please sign in to comment.