Skill

বার্তা পাঠানো এবং গ্রহণ করা (send() মেথড)

Web Sockets API বেসিক - ওয়েব সকেট (Web Sockets) - Web Development

300

Web Sockets প্রোটোকলে, একবার কানেকশন স্থাপন হলে, ক্লায়েন্ট এবং সার্ভার একে অপরকে ডেটা পাঠাতে এবং গ্রহণ করতে পারে। এর জন্য JavaScript এর send() মেথড ব্যবহৃত হয়, যা Web Socket কানেকশনের মাধ্যমে ডেটা পাঠানোর কাজ করে। এই মেথডটি ক্লায়েন্ট এবং সার্ভার উভয়েই ব্যবহার করতে পারে, যাতে একে অপরের সাথে রিয়েল-টাইমে ডেটা আদান-প্রদান করা যায়।


send() মেথড এর ব্যবহার

send() মেথড ব্যবহার করে Web Socket কানেকশনের মাধ্যমে বার্তা পাঠানো হয়। এই মেথডটি সাধারণত স্ট্রিং, বাইনারি ডেটা, অথবা JSON ফরম্যাটে ডেটা পাঠানোর জন্য ব্যবহৃত হয়।

Syntax:

webSocket.send(data);
  • data: এটি সেই ডেটা যা আপনি পাঠাতে চান। এটি একটি স্ট্রিং, বাইনারি ডেটা (যেমন Blob বা ArrayBuffer), অথবা JSON ফরম্যাটে অবজেক্ট হতে পারে।

send() মেথডের ব্যবহারিক উদাহরণ

১. ক্লায়েন্ট থেকে সার্ভারে বার্তা পাঠানো

// WebSocket কানেকশন তৈরি করা
let socket = new WebSocket('wss://example.com/socket');

// কানেকশন খোলা হলে বার্তা পাঠানো
socket.onopen = function(event) {
    // সার্ভারে বার্তা পাঠানো
    socket.send('Hello, Server!');
};

// বার্তা গ্রহণের জন্য ইভেন্ট হ্যান্ডলার
socket.onmessage = function(event) {
    console.log('Received from server: ' + event.data);
};

এই উদাহরণে, একটি Web Socket কানেকশন তৈরি করা হয়েছে wss://example.com/socket ইউআরএল এর মাধ্যমে। কানেকশন সফলভাবে খোলার পর, send() মেথডের মাধ্যমে ক্লায়েন্ট সার্ভারে "Hello, Server!" বার্তা পাঠাচ্ছে।

২. JSON ডেটা পাঠানো

যদি আপনি জটিল ডেটা যেমন অবজেক্ট পাঠাতে চান, তবে JSON ফরম্যাটে ডেটা পাঠানো যেতে পারে:

let socket = new WebSocket('wss://example.com/socket');

socket.onopen = function(event) {
    // JSON ডেটা পাঠানো
    let message = {
        type: 'chat',
        content: 'Hello, how are you?'
    };
    socket.send(JSON.stringify(message));  // JSON অবজেক্ট স্ট্রিং এ রূপান্তরিত করা
};

socket.onmessage = function(event) {
    let receivedData = JSON.parse(event.data); // JSON স্ট্রিং পার্স করা
    console.log(receivedData.content);  // "Hello, how are you?"
};

এখানে, একটি JSON অবজেক্ট তৈরি করা হয়েছে এবং তা send() মেথডের মাধ্যমে পাঠানো হয়েছে। সার্ভার থেকে ফেরত আসা JSON ডেটা JSON.parse() ব্যবহার করে পুনরায় অবজেক্টে রূপান্তরিত করা হয়েছে।


send() মেথডের সীমাবদ্ধতা

  • কানেকশন খোলা থাকা আবশ্যক: send() মেথড শুধুমাত্র তখনই কাজ করবে যখন Web Socket কানেকশন সফলভাবে খোলা হবে। যদি কানেকশন এখনও খোলা না থাকে, তাহলে আপনি send() মেথড কল করতে পারবেন না।
  • ব্রাউজারের পলিসি: কিছু ব্রাউজারে send() মেথডের মাধ্যমে পাঠানো ডেটার সাইজের সীমাবদ্ধতা থাকতে পারে। উদাহরণস্বরূপ, বড় ফাইল বা বাইনারি ডেটা পাঠানোর জন্য অতিরিক্ত কনফিগারেশন বা পদ্ধতি প্রযোজ্য হতে পারে।

বার্তা গ্রহণ (onmessage ইভেন্ট)

ক্লায়েন্ট যখন send() মেথড ব্যবহার করে বার্তা পাঠায়, তখন সার্ভার সেই বার্তাটি গ্রহণ করে এবং যে কোনো সময়ে এটি আবার ক্লায়েন্টে পাঠাতে পারে। ক্লায়েন্ট বার্তা গ্রহণের জন্য onmessage ইভেন্ট হ্যান্ডলার ব্যবহার করে:

socket.onmessage = function(event) {
    console.log('Received message: ' + event.data);
};

এখানে, event.data তে সার্ভার থেকে প্রাপ্ত বার্তা সংরক্ষিত থাকে। এটি স্ট্রিং, বাইনারি ডেটা অথবা JSON অবজেক্ট হতে পারে, যেটি প্রয়োজন অনুযায়ী প্রসেস করা যেতে পারে।


send() মেথডে বাইনারি ডেটা পাঠানো

Web Sockets প্রোটোকলে আপনি বাইনারি ডেটাও পাঠাতে পারেন, যেমন ছবি বা অন্য কোনো ফাইল। এই জন্য আপনি Blob বা ArrayBuffer ব্যবহার করতে পারেন।

উদাহরণ:

let socket = new WebSocket('wss://example.com/socket');

socket.onopen = function(event) {
    let binaryData = new ArrayBuffer(8); // 8 বাইটের একটি বাইনারি ডেটা তৈরি
    socket.send(binaryData);  // বাইনারি ডেটা পাঠানো
};

এখানে, একটি ArrayBuffer ব্যবহার করে বাইনারি ডেটা তৈরি করা হয়েছে এবং send() মেথডের মাধ্যমে পাঠানো হয়েছে।


সারাংশ

Web Sockets এর send() মেথড ক্লায়েন্ট এবং সার্ভারের মধ্যে বার্তা পাঠানোর একটি মৌলিক উপকরণ। এটি স্ট্রিং, JSON অবজেক্ট, অথবা বাইনারি ডেটা পাঠানোর জন্য ব্যবহৃত হয়। একবার কানেকশন স্থাপন হলে, এই মেথডটি দুই পক্ষের মধ্যে দ্রুত, রিয়েল-টাইমে ডেটা আদান-প্রদান করতে সাহায্য করে। send() মেথডের মাধ্যমে Web Sockets প্রোটোকলে কার্যকরী এবং ইন্টারঅ্যাকটিভ যোগাযোগ নিশ্চিত করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...