WebSocket এর মাধ্যমে JSON ডেটা পাঠানো এবং রিসিভ করা

Boon এর WebSocket Integration - বুন (Boon) - Java Technologies

303

Boon একটি দ্রুত JSON পার্সিং লাইব্রেরি যা WebSocket অ্যাপ্লিকেশনগুলোতে ব্যবহৃত JSON ডেটা পাঠানোর জন্য খুবই কার্যকর। WebSocket একটি পূর্ণ-ডুplex প্রোটোকল, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি স্থির কানেকশন স্থাপন করে এবং সেই কানেকশনের মাধ্যমে বার্তা আদান-প্রদান করা সম্ভব করে। Boon ব্যবহার করে JSON ডেটা পাঠানো এবং গ্রহণ করা খুবই সহজ এবং কার্যকর।

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


WebSocket সেটআপ এবং JSON ডেটা পাঠানো

WebSocket এর মাধ্যমে JSON ডেটা পাঠানোর জন্য, প্রথমে আমাদের Java WebSocket API ব্যবহার করে WebSocket কানেকশন তৈরি করতে হবে। Boon লাইব্রেরি JSON পার্সিংয়ের জন্য ব্যবহৃত হবে, যেটি ডেটা পাঠানোর পূর্বে JSON আউটপুট এবং রিসিভ করার সময় JSON ইনপুট প্রোসেস করতে সহায়তা করবে।

WebSocket সেটআপ উদাহরণ

এখানে একটি উদাহরণ দেওয়া হলো যেখানে Boon ব্যবহার করে JSON ডেটা WebSocket এর মাধ্যমে পাঠানো এবং রিসিভ করা হয়েছে:

১. Maven Dependencies

প্রথমে, আপনার pom.xml ফাইলে নিচের dependencies যোগ করুন:

<dependency>
    <groupId>org.java-websocket</groupId>
    <artifactId>Java-WebSocket</artifactId>
    <version>1.5.2</version>
</dependency>

<dependency>
    <groupId>io.boon</groupId>
    <artifactId>boon</artifactId>
    <version>1.0</version>
</dependency>

২. WebSocket ক্লায়েন্ট (JSON পাঠানো)

import org.java-websocket.client.WebSocketClient;
import org.java-websocket.handshake.ServerHandshake;
import io.boon.Boon;

import java.net.URI;
import java.net.URISyntaxException;

public class WebSocketClientExample {

    public static void main(String[] args) throws URISyntaxException {
        // WebSocket URL (এই URL আপনার WebSocket সার্ভারের URL হতে হবে)
        URI serverURI = new URI("ws://localhost:8080");

        WebSocketClient client = new WebSocketClient(serverURI) {

            @Override
            public void onOpen(ServerHandshake handshakedata) {
                System.out.println("Connected to server");

                // JSON ডেটা তৈরি করা
                String jsonData = Boon.toJson(new Message("Hello", "John"));
                
                // JSON ডেটা পাঠানো
                send(jsonData);
            }

            @Override
            public void onMessage(String message) {
                // JSON ডেটা রিসিভ করা
                System.out.println("Received message: " + message);
                Message response = Boon.fromJson(message, Message.class);
                System.out.println("Message from server: " + response.text);
            }

            @Override
            public void onClose(int code, String reason, boolean remote) {
                System.out.println("Disconnected from server");
            }

            @Override
            public void onError(Exception ex) {
                ex.printStackTrace();
            }
        };

        // সার্ভারের সাথে কানেক্ট করা
        client.connect();
    }

    // JSON ডেটা স্ট্রাকচার
    static class Message {
        String text;
        String sender;

        Message(String text, String sender) {
            this.text = text;
            this.sender = sender;
        }
    }
}

ব্যাখ্যা:

  1. WebSocketClient: WebSocketClient হল WebSocket ক্লায়েন্ট ক্লাস, যা WebSocket সার্ভারের সাথে কানেকশন স্থাপন করে এবং মেসেজ পাঠানো এবং গ্রহণের জন্য ব্যবহৃত হয়।
  2. onOpen(): যখন WebSocket সার্ভারের সাথে কানেকশন স্থাপন হয়, তখন onOpen() মেথড কল হয়। এখানে, একটি JSON অবজেক্ট তৈরি করে সেটি পাঠানো হচ্ছে।
  3. Boon.toJson(): Boon.toJson() পদ্ধতি ব্যবহার করে আমরা Java অবজেক্টকে JSON স্ট্রিং এ কনভার্ট করছি।
  4. onMessage(): onMessage() মেথডটি সার্ভার থেকে মেসেজ রিসিভ করার জন্য ব্যবহৃত হয়। এখানে, রিসিভ করা JSON স্ট্রিংটিকে Java অবজেক্টে কনভার্ট করে তার তথ্য প্রিন্ট করা হচ্ছে।
  5. Message ক্লাস: এটি একটি সাধারণ ক্লাস যা JSON ডেটার গঠন নির্ধারণ করে। এর মধ্যে text এবং sender ফিল্ড রয়েছে, যা JSON ডেটাতে মিলে যাবে।

৩. WebSocket সার্ভার (JSON রিসিভ করা)

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

import org.java-websocket.server.WebSocketServer;
import org.java-websocket.WebSocket;
import org.java-websocket.handshake.ClientHandshake;
import io.boon.Boon;

import java.net.InetSocketAddress;

public class WebSocketServerExample extends WebSocketServer {

    public WebSocketServerExample(InetSocketAddress address) {
        super(address);
    }

    @Override
    public void onOpen(WebSocket conn, ClientHandshake handshake) {
        System.out.println("New connection: " + conn.getRemoteSocketAddress());
    }

    @Override
    public void onMessage(WebSocket conn, String message) {
        System.out.println("Received message: " + message);

        // JSON ডেটা রিসিভ
        Message receivedMessage = Boon.fromJson(message, Message.class);
        System.out.println("Message text: " + receivedMessage.text);
        
        // JSON রেসপন্স তৈরি
        Message response = new Message("Hello, " + receivedMessage.sender, "Server");
        String jsonResponse = Boon.toJson(response);

        // রেসপন্স পাঠানো
        conn.send(jsonResponse);
    }

    @Override
    public void onClose(WebSocket conn, int code, String reason, boolean remote) {
        System.out.println("Closed connection: " + conn.getRemoteSocketAddress());
    }

    @Override
    public void onError(WebSocket conn, Exception ex) {
        ex.printStackTrace();
    }

    public static void main(String[] args) {
        WebSocketServerExample server = new WebSocketServerExample(new InetSocketAddress(8080));
        server.start();
        System.out.println("Server started on port 8080");
    }

    // Message ক্লাস
    static class Message {
        String text;
        String sender;

        Message(String text, String sender) {
            this.text = text;
            this.sender = sender;
        }
    }
}

ব্যাখ্যা:

  1. WebSocketServer: WebSocketServer ক্লাস WebSocket সার্ভার তৈরি করতে ব্যবহৃত হয়। এই সার্ভার ক্লায়েন্ট থেকে মেসেজ গ্রহণ করবে এবং প্রক্রিয়া করে রেসপন্স পাঠাবে।
  2. onMessage(): যখন সার্ভার একটি মেসেজ গ্রহণ করে, তখন onMessage() মেথড কল হয়। এখানে, Boon লাইব্রেরির মাধ্যমে JSON স্ট্রিংটি Message অবজেক্টে কনভার্ট করা হচ্ছে।
  3. Boon.fromJson(): এটি JSON স্ট্রিং থেকে Java অবজেক্টে কনভার্ট করার জন্য ব্যবহৃত হয়।
  4. Message ক্লাস: JSON ডেটার গঠন নির্ধারণ করার জন্য Message ক্লাস তৈরি করা হয়েছে, যার মধ্যে text এবং sender ফিল্ড রয়েছে।

সারাংশ

Boon লাইব্রেরি এবং WebSocket এর মাধ্যমে JSON ডেটা পাঠানো এবং গ্রহণ করা খুবই সহজ এবং কার্যকরী। WebSocket সার্ভার এবং ক্লায়েন্ট ব্যবহার করে আপনি JSON ডেটা আদান-প্রদান করতে পারেন, যেখানে Boon JSON পার্সিং এবং কনভার্সনের কাজ দ্রুত এবং কার্যকরভাবে করে। JSON ডেটা পাঠানোর সময় Boon.toJson() এবং রিসিভ করার সময় Boon.fromJson() ব্যবহার করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...