Events এর মাধ্যমে Text, JSON, এবং Binary Data পাঠানো

Custom Events এবং Data Transmission (কাস্টম ইভেন্টস এবং ডেটা ট্রান্সমিশন) - সকেট.আইও (Socket.IO) - Computer Programming

247

Socket.IO ব্যবহার করে ইভেন্টগুলির মাধ্যমে Text, JSON, এবং Binary Data পাঠানো যায়। ইভেন্ট-ভিত্তিক যোগাযোগ মডেলটি আপনাকে বিভিন্ন ধরনের ডেটা পাঠাতে এবং গ্রহণ করতে সহায়তা করে। এটি রিয়েল-টাইম অ্যাপ্লিকেশনগুলোতে বিভিন্ন ধরনের ডেটা পরিচালনা করার জন্য গুরুত্বপূর্ণ।

নিচে আমরা দেখবো কীভাবে Socket.IO ব্যবহার করে ইভেন্টের মাধ্যমে Text, JSON, এবং Binary Data পাঠানো যায়।


1. Text Data পাঠানো

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

Server-Side (Node.js)

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

const server = http.createServer((req, res) => {
  res.end('Hello, Socket.IO!');
});

const io = socketIo(server);

io.on('connection', (socket) => {
  console.log('A user connected');
  
  // Text Data পাঠানো
  socket.emit('message', 'Hello from the server!');
  
  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

server.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

Client-Side (HTML + JavaScript)

<!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>
  <script src="https://cdn.socket.io/4.1.3/socket.io.min.js"></script>
  <script>
    const socket = io('http://localhost:3000');
    
    // Text Data গ্রহণ করা
    socket.on('message', (data) => {
      console.log('Received message:', data);
    });
  </script>
</head>
<body>
  <h1>Socket.IO Example</h1>
</body>
</html>

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


2. JSON Data পাঠানো

JSON ডেটা একটি জনপ্রিয় ডেটা ফরম্যাট যা সহজেই পাঠানো এবং গ্রহণ করা যায়। Socket.IO JSON ডেটা পাঠাতে এবং গ্রহণ করতে সহজেই কাজ করে।

Server-Side (Node.js)

io.on('connection', (socket) => {
  console.log('A user connected');
  
  // JSON Data পাঠানো
  const jsonData = { name: 'John', age: 30 };
  socket.emit('userData', jsonData);
  
  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

Client-Side (HTML + JavaScript)

<script>
  const socket = io('http://localhost:3000');
  
  // JSON Data গ্রহণ করা
  socket.on('userData', (data) => {
    console.log('Received JSON data:', data);
  });
</script>

এখানে, সার্ভার একটি userData ইভেন্টের মাধ্যমে JSON ডেটা পাঠাচ্ছে, এবং ক্লায়েন্ট সেই JSON ডেটা গ্রহণ করে এবং কনসোল লগে দেখাচ্ছে।


3. Binary Data পাঠানো

Socket.IO binary data যেমন Buffer, ArrayBuffer বা Blob সমর্থন করে। এটি সাধারণত বড় আকারের ডেটা যেমন ছবি, ভিডিও বা অন্য কোনো বাইনারি ফাইল পাঠানোর জন্য ব্যবহৃত হয়।

Server-Side (Node.js)

const fs = require('fs');

io.on('connection', (socket) => {
  console.log('A user connected');
  
  // Binary Data পাঠানো (ফাইল থেকে)
  const imageBuffer = fs.readFileSync('image.jpg');
  socket.emit('imageData', imageBuffer);
  
  socket.on('disconnect', () => {
    console.log('User disconnected');
  });
});

Client-Side (HTML + JavaScript)

<script>
  const socket = io('http://localhost:3000');
  
  // Binary Data গ্রহণ করা
  socket.on('imageData', (data) => {
    console.log('Received binary data:', data);
    
    // এখানে আপনি imageBuffer বা অন্য Binary Data দিয়ে কিছু কাজ করতে পারেন
  });
</script>

এখানে, সার্ভার একটি imageData ইভেন্টের মাধ্যমে বাইনারি ডেটা (এখানে একটি ছবি) পাঠাচ্ছে এবং ক্লায়েন্ট সেই বাইনারি ডেটা গ্রহণ করছে। সাধারণত, বাইনারি ডেটা ব্যবহার করে আপনি ফাইল আপলোড বা ডাউনলোড করতে পারেন।


সারাংশ

  • Text Data: সাধারণ স্ট্রিং ডেটা, যা সরাসরি পাঠানো এবং গ্রহণ করা হয়।
  • JSON Data: একটি স্ট্যান্ডার্ড ডেটা ফরম্যাট যা অবজেক্ট হিসেবে পাঠানো হয় এবং JSON.stringify ও JSON.parse ব্যবহার করে সহজে প্রক্রিয়া করা যায়।
  • Binary Data: বাইনারি ডেটা (যেমন ছবি, অডিও বা ভিডিও ফাইল), যা বাইনারি আকারে পাঠানো হয় এবং সাধারণত Buffer বা ArrayBuffer ব্যবহার করে পাঠানো হয়।

Socket.IO বিভিন্ন ধরনের ডেটা পাঠাতে এবং গ্রহণ করতে সক্ষম, এবং এটি রিয়েল-টাইম ওয়েব অ্যাপ্লিকেশনে ডেটার ধরণ অনুযায়ী ইভেন্ট ভিত্তিক যোগাযোগ পরিচালনা করার জন্য খুবই উপকারী।

Content added By
Promotion

Are you sure to start over?

Loading...