İçeriğe geç

ASP.NET Core SignalR ile Gerçek Zamanlı Uygulama Geliştirme

28.04.2024 3 okunma

SignalR Nedir?

SignalR, sunucu ile istemci arasında gerçek zamanlı çift yönlü iletişim sağlar. WebSocket, Server-Sent Events veya Long Polling'i otomatik seçer.

Hub Tanımlama

public class ChatHub : Hub {
    public async Task MesajGonder(string kullanici, string mesaj) {
        await Clients.All.SendAsync("MesajAl", kullanici, mesaj);
    }

    public async Task GrubaKatil(string grupAdi) {
        await Groups.AddToGroupAsync(Context.ConnectionId, grupAdi);
    }
}

Program.cs

builder.Services.AddSignalR();
app.MapHub<ChatHub>("/chatHub");

JavaScript İstemci

const connection = new signalR.HubConnectionBuilder()
    .withUrl("/chatHub")
    .build();

connection.on("MesajAl", (kullanici, mesaj) => {
    document.getElementById("chat").innerHTML +=
        `<p><b>${kullanici}:</b> ${mesaj}</p>`;
});

await connection.start();

document.getElementById("btnGonder").onclick = async () => {
    await connection.invoke("MesajGonder", "Ali", document.getElementById("mesaj").value);
};
aspnet signalr aspnet core gerçek zamanlı signalr chat uygulaması websocket aspnet dotnet signalr
İLERİ DÜZEY C# ASP.NET YAZILIM hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.