SignalR হলো ASP.NET Core এর একটি ফ্রেমওয়ার্ক, যা real-time communication সক্ষম করে। SignalR এর মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে ডাটা তাৎক্ষণিকভাবে পাঠানো এবং গ্রহণ করা সম্ভব। Hub হলো SignalR এর একটি কেন্দ্রীয় উপাদান, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ পরিচালনা করে।
Hub হলো একটি ক্লাস, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে রিমোট পদ্ধতি কল করতে ব্যবহৃত হয়।
প্রথমে SignalR ব্যবহারের জন্য NuGet প্যাকেজ ইনস্টল করতে হবে:
dotnet add package Microsoft.AspNetCore.SignalR
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);
}
}
উপরের উদাহরণে:
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 ক্লায়েন্ট সাপোর্ট যোগ করার জন্য JavaScript লাইব্রেরি ইনস্টল করুন:
npm install @microsoft/signalr
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>
dotnet run
কমান্ড ব্যবহার করে ASP.NET Core অ্যাপ চালু করুন।https://localhost:5001
URL-টি ওপেন করুন এবং ফর্মটি ব্যবহার করে মেসেজ পাঠান।SignalR Hub তৈরি এবং ব্যবহার ASP.NET Core অ্যাপ্লিকেশনকে আরও ইন্টারেক্টিভ এবং ব্যবহারকারীর জন্য আরও কার্যকর করে তোলে।
common.read_more