Skip to content

It shows socket communication between web client and server where the client is using javascript and the server is using node.js.

Notifications You must be signed in to change notification settings

kyopark2014/webchat-nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webchat nodejs

Prerequisite

$ npm install express
$ npm install socket.io

RUN

$ node index.js

RESULT

image

SERVER: server.js

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(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);
    });

    // Handle typing event
    socket.on('typing', function(data){
        console.log("typing...");
        socket.broadcast.emit('typing', data);
    });
});
server.listen(4000, function () {
    console.log('listening for requests on port 4000,');
});

Client: chat.js

// Make connection
var socket = io.connect('http://localhost:4000');

// Query DOM
var message = document.getElementById('message'),
      handle = document.getElementById('handle'),
      btn = document.getElementById('send'),
      output = document.getElementById('output'),
      feedback = document.getElementById('feedback');

// Emit events
btn.addEventListener('click', function(){
    socket.emit('chat', {
        message: message.value,
        handle: handle.value
    });
    message.value = "";
});

message.addEventListener('keypress', function(){
    socket.emit('typing', handle.value);
})

// Listen for events
socket.on('chat', function(data){
    feedback.innerHTML = '';
    output.innerHTML += '<p><strong>' + data.handle + ': </strong>' + data.message + '</p>';
});

socket.on('typing', function(data){
    feedback.innerHTML = '<p><em>' + data + ' is typing a message...</em></p>';
});

Reference

https://github.com/socketio/socket.io

https://github.com/iamshaunjp/websockets-playlist

About

It shows socket communication between web client and server where the client is using javascript and the server is using node.js.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published