Skip to main content

Soket.io Use Of Ping Pong Events | node-js-tutorial.blogspot.in






When we Create Client Server Application,
Some time we Need To Check out Live Connectivity between Client & Server.

Let's we Understand by Example,

Server Code.


 const fs       = require('fs');  
 const http      = require('http');  
 const path      = require('path');  
 const SocketIOServer = require('socket.io');  
 const app = new http.Server();  
 app.on('request', (req, res) => {  
  const index = path.join(__dirname, 'public', 'index.html')  
  fs.readFile(index, function (err, data) {  
   if (err) {  
    res.writeHead(500);  
    return res.end('Error loading index.html');  
   }  
   res.writeHead(200);  
   res.end(data);  
  });  
 });  
 app.listen(3000, 'localhost');  
 const io = new SocketIOServer(app);  
 // could also use "connection"  
 io.on('connect', function (socket) {  
  console.log(`${socket.id} "connect"`);  
  socket.on('ping', (data) => {  
   console.log('Receive "Ping Form Client"');  
   io.emit('pong', {});   
   console.log('Send "Pong To Client"');   
  });  
  socket.on('disconnect', () => {  
   console.log(`${socket.id} "disconnect"`);    
  });  
 });  

When Server Recive Ping event , then he send Cilent Pong Event.

Client Side Code.

 <!DOCTYPE html>  
 <html lang="en">  
  <head>  
   <meta charset="utf-8">  
   <meta http-equiv="X-UA-Compatible" content="IE=edge">  
   <meta name="viewport" content="width=device-width, initial-scale=1">  
   <title>Socket.IO Events</title>  
  </head>  
  <body>  
   <h1>Socket.IO Events</h1>  
   <script src="/socket.io/socket.io.js"></script>  
   <script>  
    const socket = io();  
    socket.on('pong', (data) => {  
     console.log('Receive "pong Form Server"');  
    });  
    socket.emit('ping', {});  
    console.log('Send "ping To Client"');  
   </script>  
  </body>  
 </html>  


Here, Client Send Ping Event To Server. and server Replay With Pong Methods.

Just Copy & Past Above code for Test Ping Pong.

Thanks.
NodeJs Tutorial

Comments

  1. Good work, Very Helpful code , thanks

    ReplyDelete
  2. Online Business Analyst Course
    Develop skills in requirements elicitation, stakeholder analysis, process modeling (BPMN/UML), and documentation (BRDs, FRDs, RTMs). Build a job-ready portfolio with real-time projects and get expert interview guidance for a successful BA career.

    ReplyDelete

Post a Comment

Popular posts from this blog

NodeJs - Socket.IO Set Ping Timeout & Ping Interval | node-js-tutorial.blogspot.in

How to Socket.io Specifying Heartbeat Here we Learn Method of Set Ping Timeout & ping interval. There Are Several Way to Set Ping interval & Ping Time out. Please Remember Some note : ping interval is alway small then ping Timeout. Always Set Same ping timeout & ping Interval for both side. (Client side  & Server Side) When You Develop any Client Server Application. Following Are some Pattern Which most Case Peopele use. 1) Type One  var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http, { 'pingInterval': 2000, 'pingTimeout': 5000 }); 2) Type Two For package dependency versions: "express": "^4.12.3", "socket.io": "1.0" ex : var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); io.set('heartbeat timeout...

How to Use MongoDb Nativ Query With Model in NodeJS | node-js-tutorial.blogspot.com

How to Use MongoDb Nativ Query With Model in NodeJS | node-js-tutorial.blogspot.com In this artical, you have learn how to use mongo native query with node model. let understand some code. Following code use for conver Sting To Object ID. Declare in top of Your code. var ObjectId = require('mongodb').ObjectID; Nativ query Understand Object Id not String. let userId = '123232323232'; // ID of User. Your_Model.native(function (err, modelObj) { modelObj.update({ "_id": new ObjectId(userId) }, { $push: { <feild>: { <feild>: <value> } } }, function (err, res) { if (err) { // Print Error Log console.log(err); } else { // Print Success Log console.log(res.result); } }); }); // End Nativ Here Que...