12
loading...
This website collects cookies to deliver better user experience
Initiate your project using npm init and pass the '-y' flag to default all questions. This creates your package.json file that tracks all the dependencies and list information about the project
Install dependencies: Express and Socket.io
Install Nodemon to automatically restart the server, save it as a Dev dependency by using the --save-dev flag
[nodemon] starting `node index.js`
App is listening to server on port 3000
cannot GET /
// Static files middleware
app.use(express.static('public'));
const socket = require('socket.io');
const io = socket(server);
io.on('connection', (socket)=>{
console.log('Socket connected successfully')
);
// Make connection front-end setup
const socket = io.connect('http://localhost:3000');
// Backend connection
io.on('connection', (socket) => {
console.log('Socket connected successfully')
});
// Backend connection
io.on('connection', (socket) => {
console.log('Socket connected successfully', socket.id)
});
<div id="tiny-chat">
<div id="tiny-window">
<div id="output"></div>
<div id="feedback"></div>
</div>
<input id="handle" type="text" placeholder="Handle" />
<input id="message" type="text" placeholder="Message" />
<button id="send">Send</button>
</div>
// Query DOM
const message = document.getElementById('message'),
handle = document.getElementById('handle'),
btn = document.getElementById('send'),
output = document.getElementById('output');
// Emit events
btn.addEventListener('click', function() {
socket.emit('chat', {
message: message.value,
handle: handle.value
});
message.value = "";
});
const io = socket(server);
io.on('connection', (socket) => {
console.log('made socket connection', socket.id);
// Handle chat event
socket.on('chat', function(data) {
console.log(data);
io.sockets.emit('chat', data);
});
// Listen for events
socket.on('chat', function(data) {
feedback.innerHTML = '';
output.innerHTML += '<p><strong>' + data.handle + ': </strong>' + data.message + '</p>';
});