SignalR Hub তৈরি করা

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) ASP.NET Core SignalR (Real-time Communication) |
202
202

SignalR হলো ASP.NET Core এর একটি ফ্রেমওয়ার্ক, যা real-time communication সক্ষম করে। SignalR এর মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে ডাটা তাৎক্ষণিকভাবে পাঠানো এবং গ্রহণ করা সম্ভব। Hub হলো SignalR এর একটি কেন্দ্রীয় উপাদান, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ পরিচালনা করে।


SignalR Hub কী?

Hub হলো একটি ক্লাস, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে রিমোট পদ্ধতি কল করতে ব্যবহৃত হয়।

  • ক্লায়েন্ট থেকে সার্ভারে ডেটা পাঠানোর জন্য Hub ব্যবহার করা হয়।
  • সার্ভার থেকে এক বা একাধিক ক্লায়েন্টে ডেটা পাঠানোর জন্যও Hub ব্যবহার করা হয়।

SignalR সেটআপ এবং Hub তৈরি করার ধাপসমূহ

SignalR NuGet প্যাকেজ ইনস্টল করা

প্রথমে SignalR ব্যবহারের জন্য NuGet প্যাকেজ ইনস্টল করতে হবে:

dotnet add package Microsoft.AspNetCore.SignalR

SignalR Hub তৈরি করা

SignalR Hub একটি ক্লাস, যা Hub ক্লাস থেকে ইনহেরিট করে। উদাহরণস্বরূপ, একটি ChatHub ক্লাস:

using Microsoft.AspNetCore.SignalR;

public class ChatHub : Hub
{
    public async Task SendMessage(string user, string message)
    {
        // সকল ক্লায়েন্টকে বার্তা প্রেরণ
        await Clients.All.SendAsync("ReceiveMessage", user, message);
    }
}

উপরের উদাহরণে:

  • SendMessage মেথডটি ক্লায়েন্ট থেকে বার্তা গ্রহণ করে।
  • Clients.All.SendAsync ব্যবহার করে বার্তাটি সকল ক্লায়েন্টে প্রেরণ করা হয়।

SignalR Hub Middleware যুক্ত করা

Hub কার্যকর করতে Program.cs ফাইল আপডেট করুন।

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

// SignalR endpoint যুক্ত করা
app.MapHub<ChatHub>("/chathub");

app.Run();

এখানে /chathub হলো SignalR Hub এর URL এন্ডপয়েন্ট।


ক্লায়েন্ট সাইডে SignalR ব্যবহার

SignalR JavaScript Client ইনস্টল করা

SignalR ক্লায়েন্ট সাপোর্ট যোগ করার জন্য JavaScript লাইব্রেরি ইনস্টল করুন:

npm install @microsoft/signalr

SignalR Hub-এ সংযোগ স্থাপন

HTML পেজে SignalR ব্যবহার করতে নিচের কোড লিখুন:

<!DOCTYPE html>
<html>
<head>
    <title>SignalR Chat</title>
    <script src="https://cdn.jsdelivr.net/npm/@microsoft/signalr@latest/dist/browser/signalr.js"></script>
</head>
<body>
    <h1>Chat Room</h1>
    <input id="user" type="text" placeholder="Your Name" />
    <input id="message" type="text" placeholder="Message" />
    <button onclick="sendMessage()">Send</button>
    <ul id="messages"></ul>

    <script>
        // SignalR Hub সংযোগ তৈরি
        const connection = new signalR.HubConnectionBuilder()
            .withUrl("/chathub")
            .build();

        // বার্তা গ্রহণ করা
        connection.on("ReceiveMessage", (user, message) => {
            const li = document.createElement("li");
            li.textContent = `${user}: ${message}`;
            document.getElementById("messages").appendChild(li);
        });

        // Hub সংযোগ চালু করা
        connection.start().catch(err => console.error(err.toString()));

        // বার্তা পাঠানোর ফাংশন
        function sendMessage() {
            const user = document.getElementById("user").value;
            const message = document.getElementById("message").value;
            connection.invoke("SendMessage", user, message).catch(err => console.error(err.toString()));
        }
    </script>
</body>
</html>

SignalR Hub ডিবাগ এবং পরীক্ষা করা

  1. অ্যাপ চালু করুন:
    dotnet run কমান্ড ব্যবহার করে ASP.NET Core অ্যাপ চালু করুন।
  2. ব্রাউজার থেকে অ্যাক্সেস করুন:
    ব্রাউজারে https://localhost:5001 URL-টি ওপেন করুন এবং ফর্মটি ব্যবহার করে মেসেজ পাঠান।
  3. রিয়েল-টাইম আপডেট দেখুন:
    একই অ্যাপ একাধিক ব্রাউজারে চালু করলে, এক ব্রাউজারে পাঠানো মেসেজ অন্য ব্রাউজারে রিয়েল-টাইমে প্রদর্শিত হবে।

SignalR Hub এর সুবিধা

  • রিয়েল-টাইম কমিউনিকেশন: ক্লায়েন্ট এবং সার্ভারের মধ্যে তাৎক্ষণিক ডেটা আদান-প্রদান।
  • স্কেলেবিলিটি: ক্লায়েন্ট সংখ্যা বাড়লেও SignalR এর পারফরম্যান্স স্থিতিশীল থাকে।
  • সহজ ইমপ্লিমেন্টেশন: কম কোড দিয়ে শক্তিশালী রিয়েল-টাইম ফিচার তৈরি করা যায়।
  • ক্লায়েন্ট ফ্লেক্সিবিলিটি: SignalR ক্লায়েন্ট হিসেবে JavaScript, .NET, বা অন্য ফ্রেমওয়ার্ক ব্যবহার করা যায়।

SignalR Hub তৈরি এবং ব্যবহার ASP.NET Core অ্যাপ্লিকেশনকে আরও ইন্টারেক্টিভ এবং ব্যবহারকারীর জন্য আরও কার্যকর করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion