paint-brush
Set up WebSocket for Your ReactJS-app in 5 Minutes!by@pavel_ershov
1,827 reads
1,827 reads

Set up WebSocket for Your ReactJS-app in 5 Minutes!

by Pavel Ershov
Pavel Ershov HackerNoon profile picture

Pavel Ershov

@pavel_ershov

Founder and CEO at Directual.

October 24th, 2022
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Make the most out of your ReactJS app with the help of WebSocket on no-code Directual! An easy way to make a chat app, get notifications, and much more.

Company Mentioned

Mention Thumbnail
Import.io
featured image - Set up WebSocket for Your ReactJS-app in 5 Minutes!
1x
Read by Dr. One voice-avatar

Listen to this story

Pavel Ershov HackerNoon profile picture
Pavel Ershov

Pavel Ershov

@pavel_ershov

Founder and CEO at Directual.

Learn More
LEARN MORE ABOUT @PAVEL_ERSHOV'S
EXPERTISE AND PLACE ON THE INTERNET.

WebSocket. A common topic among developers learning their way around (just see the number of ELI5s on Reddit for yourself), and a fantastic way to exchange data between a server and a web or a mobile interface. Chats, page-refreshing, event notifications, game consoles, loads of other things — all require a bidirectional and low-latency communication via WebSocket.

A short while ago we made an article on how to set up a backend for React apps in just 15 minutes. Setting up the WebSocket connection is the next step to making an awesome app with live updates within the same framework.

image

The crux of what WebSocket is famous for

This bite-sized article will dive into what WebSocket really is, why it’s a good idea to use it, and how it works with Directual.

WebSocket, how does it work?

It’s a digital communication protocol (method) used to establish continuous data exchange between a server and a client. 

Compared to the HTTP request/response method, where the connection opens and closes every time a data packet comes in or out, WebSocket can keep it open and exchange it live smoothly and fast.

image

The thing is, WebSocket is a difficult thing to introduce if you want to do it by hand. You’ll need a server, backend, and a whole load of other things in place to make it all work. 

That’s where no coding comes in!

How to set up WebSocket with Directual in 5 minutes flat

This is going to be a really short section, but it’s really easy to do. Here’s how:

Step 1

Explore what Directual platform is and connect it with your ReactJS-app. Check out this short video to get an idea of how to get around Directual and what you can do:


Have a look at Directual's boilerplate for React JS. You may either connect your existing React-app or build one from scratch.

Step 2

Install the Socket.io plugin on Directual (free of charge, by the way!)

image

Step 3

Configure the scenario and establish the logic for your WebSocket. Make sure your scenario sends the WebSocket at the right time.

image


Use the following code in your React app to handle the messages from the scenario. There are two arguments:

Event type
and
message
. You may either broadcast the message (set
UserID
to
*
in the scenario step) or send it to a certain user (authorised one).

import io from 'socket.io-client';

// autoConnect set to false, 
// because before we must get session_id for auth users
const socket = io('https://api.directual.com', {autoConnect: false})

var sessionID = ? // get sessionID when authorise a user
var appID = ? // get appID in API section of the Directual platform

//login users process...

socket.auth = {app_id: appID, session_id: sessionID};
socket.connect();

//subscribe to any events
socket.onAny((eventName, args) => {
   console.log(`${eventName}: ${JSON.stringify(args)}`);
});

//subscribe to only 'message' events
socket.on('message', (msg) => {
   console.log(msg);
})

Ta-daaaa! Fully synchronized data exchange for your React app, just the way you want it. All it takes is just a couple of easy steps to get started.

image


And there we go! Enjoy an interactive interface that is automatically updated via your backend! Truly a miracle of science. 

Actually, you can use Directual WebSocket plugin not only for ReactJS, but for any UI-framework, or even for a mobile app!

Afterword

Directual is all about making difficult things easy, and boring things automated. If you’re up for getting your own project off the ground, do give it a try and see how it works! 

Naturally, the platform creators themselves are always there to respond. Send us a message at hello@directual.com. Thanks for reading!

L O A D I N G
. . . comments & more!

About Author

Pavel Ershov HackerNoon profile picture
Pavel Ershov@pavel_ershov
Founder and CEO at Directual.

TOPICS

THIS ARTICLE WAS FEATURED IN...

Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
Directual
Unni
Hashnode
Learnrepo
Unni
Hashnode

Mentioned in this story

companies