Client-Side এবং Server-Side Socket.IO সেটআপ

Socket.IO ইন্সটলেশন এবং সেটআপ (Installing and Setting Up Socket.IO) - সকেট.আইও (Socket.IO) - Computer Programming

278

Socket.IO এর ব্যবহার দুটি অংশে ভাগ করা যায়: Client-Side (ক্লায়েন্ট সাইড) এবং Server-Side (সার্ভার সাইড)। নিচে Socket.IO এর জন্য ক্লায়েন্ট এবং সার্ভার সাইড সেটআপের ধাপগুলো বিস্তারিতভাবে বর্ণনা করা হলো।


1. Server-Side Socket.IO Setup (Node.js)

Step 1: Node.js পরিবেশ সেটআপ

Socket.IO ব্যবহারের জন্য প্রথমে আপনার Node.js পরিবেশ ইনস্টল করা থাকতে হবে। যদি Node.js ইনস্টল না করা থাকে, তবে Node.js অফিসিয়াল ওয়েবসাইট থেকে ইনস্টল করে নিন।

Step 2: প্রজেক্ট তৈরি করা

প্রথমে একটি নতুন Node.js প্রজেক্ট তৈরি করুন এবং টার্মিনালে গিয়ে নিম্নলিখিত কমান্ডটি রান করুন:

mkdir socketio-example
cd socketio-example
npm init -y

এটি একটি নতুন প্রজেক্ট তৈরি করবে এবং package.json ফাইল তৈরি করবে।

Step 3: Socket.IO ইনস্টল করা

Socket.IO লাইব্রেরি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন:

npm install socket.io

Step 4: সার্ভার সাইড কোড লেখা

এখন একটি নতুন ফাইল তৈরি করুন, যেমন server.js, এবং নিচের কোডটি যোগ করুন:

const http = require('http');
const socketIo = require('socket.io');

// HTTP সার্ভার তৈরি করা
const server = http.createServer((req, res) => {
  res.end('Hello, Socket.IO!');
});

// Socket.IO সার্ভার শুরু করা
const io = socketIo(server);

// ক্লায়েন্টের সাথে কানেকশন তৈরি করা
io.on('connection', (socket) => {
  console.log('A user connected');
  
  // 'disconnect' ইভেন্ট হ্যান্ডেল করা
  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

// সার্ভার চালু করা
server.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

এই কোডটি একটি HTTP সার্ভার তৈরি করবে এবং সেখানে Socket.IO সার্ভার যোগ করবে। যখন একটি ক্লায়েন্ট কানেক্ট হবে, তখন তা connection ইভেন্টে প্রবাহিত হবে এবং যখন ক্লায়েন্ট ডিসকানেক্ট হবে, তখন disconnect ইভেন্ট ট্রিগার হবে।

Step 5: সার্ভার চালু করা

টার্মিনালে নিচের কমান্ডটি ব্যবহার করে সার্ভারটি চালু করুন:

node server.js

এখন আপনার সার্ভারটি http://localhost:3000 পোর্টে চলবে।


2. Client-Side Socket.IO Setup

Step 1: HTML ফাইল তৈরি করা

ক্লায়েন্ট সাইডে Socket.IO ব্যবহার করার জন্য, প্রথমে আপনার একটি HTML ফাইল তৈরি করতে হবে। উদাহরণস্বরূপ, index.html নামক একটি ফাইল তৈরি করুন এবং এর মধ্যে Socket.IO লাইব্রেরি যোগ করুন।

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Socket.IO Example</title>
</head>
<body>
  <h1>Socket.IO Client</h1>
  <script src="https://cdn.socket.io/4.1.3/socket.io.min.js"></script>
  <script>
    // Socket.IO সার্ভারে কানেক্ট হওয়া
    const socket = io('http://localhost:3000');

    // কানেকশন সফল হলে লগে একটি মেসেজ দেখানো
    socket.on('connect', () => {
      console.log('Connected to the server');
    });

    // ডিসকানেক্ট হওয়ার পর লগে মেসেজ দেখানো
    socket.on('disconnect', () => {
      console.log('Disconnected from the server');
    });
  </script>
</body>
</html>

এখানে https://cdn.socket.io/4.1.3/socket.io.min.js থেকে Socket.IO ক্লায়েন্ট সাইড লাইব্রেরি লোড করা হয়েছে। আপনি যদি লোকালভাবে Socket.IO ক্লায়েন্ট ব্যবহার করতে চান, তবে এটি আপনার প্রজেক্টের node_modules থেকে ব্যবহার করতে পারেন।

Step 2: HTML ফাইল চালু করা

এখন এই index.html ফাইলটি আপনার ওয়েব ব্রাউজারে ওপেন করুন। ব্রাউজারে গেলে, ক্লায়েন্ট সার্ভারের সাথে কানেক্ট হয়ে যাবে এবং সার্ভারের কাছ থেকে ইভেন্টগুলি শোনাবে।


3. Socket.IO এর সাথে ইভেন্ট সিঙ্ক্রোনাইজেশন

Socket.IO ইভেন্ট-ভিত্তিক যোগাযোগ ব্যবস্থার মাধ্যমে সার্ভার ও ক্লায়েন্টের মধ্যে ডেটা আদান-প্রদান করা যায়। নিচে সার্ভার ও ক্লায়েন্টে কিভাবে ইভেন্ট ব্যবহার করা হয় তার একটি উদাহরণ:

Server-Side Example:

// ক্লায়েন্ট থেকে একটি 'chat message' ইভেন্ট গ্রহণ করা
io.on('connection', (socket) => {
  console.log('A user connected');

  // 'chat message' ইভেন্ট হ্যান্ডেল করা
  socket.on('chat message', (msg) => {
    console.log('Message received: ' + msg);

    // সার্ভার থেকে ক্লায়েন্টে 'chat message' পাঠানো
    io.emit('chat message', msg);
  });

  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

Client-Side Example:

<script>
  const socket = io('http://localhost:3000');

  // 'chat message' ইভেন্ট শোনা
  socket.on('chat message', (msg) => {
    console.log('New message: ' + msg);
  });

  // সার্ভারে একটি 'chat message' পাঠানো
  socket.emit('chat message', 'Hello, this is a test message!');
</script>

এখানে, সার্ভার একটি 'chat message' ইভেন্ট গ্রহণ করে এবং সমস্ত কানেক্টেড ক্লায়েন্টদের কাছে সেই বার্তাটি পাঠিয়ে দেয়।


সারসংক্ষেপ

  • Server-Side: আপনি Node.js এ Socket.IO ইনস্টল করে একটি সার্ভার তৈরি করতে পারেন, যা ক্লায়েন্টদের সাথে রিয়েল-টাইম যোগাযোগ স্থাপন করে।
  • Client-Side: ক্লায়েন্ট সাইডে, আপনি socket.io.min.js স্ক্রিপ্ট ব্যবহার করে সার্ভারের সাথে কানেক্ট করতে পারেন এবং ইভেন্ট পাঠাতে বা গ্রহণ করতে পারেন।

এই সেটআপটি রিয়েল-টাইম যোগাযোগের জন্য Socket.IO ব্যবহার করতে শুরু করার জন্য একটি মৌলিক নির্দেশিকা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...