SignalR Kullanarak Aktif Kullanıcı Sayısını Bulma

Merhabalar, bu yazımda sizlere SignalR yardımıyla aktif olan kullanıcı sayısını bulacağız.

İlk olarak UserHub isminde bir hub classı ekliyoruz. Aktif olan kullanıcıyı bulmak için bize hazır oluşturulmuş metodlar var bunları override yaparak ekliyoruz.

public class UserHub :Hub
    {
        static int  UserCount = 0;
        public async override Task OnConnectedAsync()
        {
            UserCount++;
            await Clients.All.SendAsync("ReceiveUserCount", UserCount);
            await base.OnConnectedAsync();
        }
        public async override Task OnDisconnectedAsync(Exception exception)
        {
            UserCount--;
            await Clients.All.SendAsync("ReceiveUserCount", UserCount);
            await base.OnDisconnectedAsync(exception);
        }
    }

Server taraflı kodlarımız bu kadar şimdi client tarafına geçelim. Script bölümümüzün kodları;

  <script src="~/lib/microsoft/signalr/dist/browser/signalr.js"></script>
    <script type="text/javascript">
        var conn = new signalR.HubConnectionBuilder()
        .withUrl("/ProductHub") .build();
        conn.start();

        connection.on("ReceiveUserCount", (count) => {
            $('#Count').text(count);
        })
    </script>

Html kodlarına geçelim;

<div class="alert alert-info">    
        Client Sayısı <strong id="clientCount"></strong>   
</div>

Hepsi bu kadar şimdi çıktımıza bir göz atalım.

Evet yazımızın sonuna geldik. Bir sonraki yazımda görüşmek üzere. Sağlıcakla kalın.

Bir cevap yazın