Jeeva Subburaj - Programmer, Blogger

  • Home

  • About

  • Archives

  • Search

screencastR - Simple screen sharing app using SignalR streaming

Posted on 2019-08-13 | Edited on 2019-08-26 | Comments:

Introduction

In this article, we will see how to create simple screen sharing app using signalR streaming. SignalR supports both server to client and client to server streaming. In my previous article , I have done server to client streaming with ChannelReader and ChannelWriter for streaming support. This may look very complex to implement asynchronous streaming just like writing the asynchronous method without async and await keyword. IAsyncEnumerable is the latest addition to .Net Core 3.0 and C# 8 feature for asynchronous streaming. It is now super easy to implement asynchronous streaming with few lines of clean code. In this example, we will use client to server streaming to stream the desktop content to all the connected remote client viewers using signalR stream with the support of IAsyncEnumerable API.

Disclaimer

The sample code for this article is just an experimental project for testing signalR streaming with IAsyncEnumerable. In Real world scenarios, You may consider using peer to peer connection using WebRTC or other socket libraries for building effective screen sharing tool.

Read more »

Realtime Blazor Tic-Tac-Toe game - Bot vs Multiplayer using signalR

Posted on 2019-07-15 | Edited on 2019-08-26 | Comments:

In this article, we will see how to create a bot vs. multiplayer tic-tac-toe game in blazor. Blazor is an open source .NET web front-end framework that allows us to create client-side applications using C# and HTML. This is a simple asp.net core hosted server-side blazor front-end application with Game UI razor component and signalR game hub to connect players with the bot to play the game. The Game Bot is created with .Net Core Background Service with core game engine to identify the best move against a player using minimax recursive algorithm. The entire source code is uploaded in my github repository.

Read more »

.NET 5 is the Future of .Net - What every .Net developers must know

Posted on 2019-05-09 | Edited on 2019-08-26 | Comments:

img

Microsoft announced the new .NET 5 (future of .NET) in Build 2019 conference. .NET 5 will be the single unified platform for building applications that runs on all platforms(Windows, Linux) and devices (IoT, Mobile).

If you are .NET developer currently supporting enterprise applications developed in .NET framework, you need to know how the .NET 5 is going to affect your current enterprise application in the long run. .Net 5 is based on .Net Standard which means not every .Net framework features will be available in .Net 5. Also, there are some technology stacks like web forms, WCF and WWF is not porting into .Net 5. We will look into the details of what is not covered in .Net 5 and what are the alternatives.

Read more »

Real Time Baby Monitor Chrome Extension - Streaming from Raspberry PI using SignalR and Cognitive Vision Service

Posted on 2019-03-29 | Edited on 2019-08-26 | Comments:

SignalR Streaming is a latest addition to SignalR library and it supports sending fragments of data to clients as soon as it becomes available instead of waiting for all the data to become available. In this article, we will build a small app for baby monitoring to stream camera content from Raspberry PI using SignalR streaming. This tool also sends the notification to connected clients whenever it detects baby cry using Cognitive Vision Service.

Overview

This tool consists of following modules.

  • SignalR Streaming Hub which will holds the methods for streaming data and notification service.
  • .Net core based worker service that runs in the background thread to detect baby cry by capturing a photo in frequent interval and pass it to cognitive vision service.
  • Azure based cognitive Vision Service will take the image input and detect if any human face exists and then analyze the face attributes and sends the response back with face attributes values such smile, sadness, anger etc..

  • SignalR Client is a Javascript based chrome extension runs in chrome browser background. When SignalR Hub sends the notification messages, this will show the popup notification to the user. User will also have the option to view the live streaming from client Popup Window.

Read more »

How to Create Personal Blog using Hexo and Netlify With Continuous Deployment

Posted on 2019-03-21 | Edited on 2019-08-26 | Comments:

Recently, I moved my blog from blogger to hexo blog framework hosted in Netlify. The main reason i moved my blog to hexo because its simple yet powerful blog framework for static html generator with markdown support for articles and so many themes and plugins available for blogging platform. When my blog was hosted in blogger, I faced lot of difficulties in formatting the content and code blocks for almost all the articles. I spend more time in formatting the article instead of focusing on content of the article. I wanted to move to some blog framework that must support markdown and ability to host the content free of charge with continuous deployment enabled. There are various popular static html generator framework available in the market such as hugo, jeykill and hexo. After my initial research, i decided to go with hexo framework and use Netlify for hosting my blog since its free and supports continuous deployment.

Read more »

C# Hidden Gems – Discards Variable ( _ )

Posted on 2019-01-24 | Edited on 2019-08-26 | Comments:

This will be one of my series of multiple blog posts to explore some of the hidden gems of C# features. Hidden gems are surprisingly useful feature but not being used much by common developers.

From version 7.0, C# introduced the new feature called discards to create dummy variable defined by underscore character _. Discards are equal to unassigned variables. The purpose of this feature is to use this variable when you want to intentionally skip the value by not creating variable explicitly.

Read more »

Containerizing N-Tier MVC .Net Framework Application with Docker

Posted on 2018-12-05 | Edited on 2019-08-26 | Comments:


Microservice Architecture and Containerization using docker are the latest buzzword in the software industry. But, Many people including me in the software industry developing big monolithic enterprise applications using .Net Framework for many years have very limited scope of applying these concepts into existing applications. Because, its not easy to break enterprise monolithic application into micro service architecture without redesigning the application. Also, .Net Core framework would be the de facto choice for micro service architecture because it supports cross platform so it can be hosted in linux container or windows container. As of today, Windows Docker container do not support GUI application such as winforms, wpf etc.. However, we can still consider modernizing .Net Framework monolithic application by packaging into docker image for automated end to end testing or security testing.

Read more »

Real Time Cricket Score Chrome Extension using Azure Functions and SignalR

Posted on 2018-09-12 | Edited on 2019-08-26 | Comments:

In this article, I will discuss about how to show real time cricket score notification from chrome extension using serverless Azure Functions and Azure SignalR. I have used cricapi.com free API service to get the live cricket score updates. The purpose of this article is to show the power of serverless architecture using azure functions and broadcasting to connected clients in realtime using Azure SignalR. The demo source code I attached with this article is for personal educational purpose only and not production use.

Read more »

Azure SignalR Messaging with .Net Core Console App Server and Client

Posted on 2018-08-14 | Edited on 2019-08-26 | Comments:

Real-time technologies are now part of every modern applications and SignalR is the most popular .net library to create real time scenarios. Recently Microsoft announced the public preview of Azure SignalR, a cloud based fully managed service to build real time application without worrying about capacity provisioning, scaling, or persistent connections. In this article, we are going to discuss about how to create .Net Core SignalR server console app to broadcast the messages to all the connected clients in real-time without using Asp.net Core SignalR Web App.

Read more »

Asp.Net Core Basics- Accessing Configuration Settings from Multiple Sources

Posted on 2018-07-28 | Edited on 2019-08-26 | Comments:

In older Asp.Net Version, we typically store the configuration settings in web.config and access it using ConfigurationManager Class. This worked well in the past however it is not good enough for modern technologies like hosting in cloud or container based solutions. Moreover, storing the sensitive data in web.config poses security risk if the file is check in to source control by accident.

Read more »
12
Jeeva Subburaj

Jeeva Subburaj

Programmer, Blogger
RSS
c-sharpcorner MVP
0%
© 2019 Jeeva Subburaj
Powered by Hexo
|
Theme – NexT.Gemini