Build a Simple Chat Server With gRPC in .Net Core

In this article, we will create a simple concurrent gRPC chat server application. We will use .NET Core, a cross-platform, open-source, and modular framework, to build our chat server application. We will cover the following topics:

  • A brief introduction to gRPC.
  • Setting up the gRPC environment and defining the service contract.
  • Implementing the chat service and handling client requests.
  • Handling multiple clients concurrently using asynchronous programming
  • Broadcasting chat messages to all connected clients in the same room.

By the end of this tutorial, you will have an understanding of how to use gRPC to build a chat server.

Porting your legacy crapware to .Net Core and Angular in 1 second

Over the years, I have seen so many legacy systems, built on ancient technology, that I could probably demand a PhD in legacy crapware. I once worked for a FinTech company that was using Open Source components that had officially been abandoned by its developer more than a decade ago. Working with jQuery, Durandal and .Net Framework instead of .Net Core today, simply doesn't cut it. In addition, the results of working with such projects, is that you as a developer slowly withers away, and become obsolete over time. Hence, you should do everything you can, to argue in favour of upgrading these legacy systems, to a modern platform, such as Angular and .Net Core.

From your management's perspective though, this process is only costs. They know they had 20+ developers, working for 20+ years, to maintain their garbage - And hence, therefor they believe it'll take 20+ developers for 20+ years to replace it. In such a regard, your management is still living in the stone age, believing in stone age tools, and stone age processes - While the rest of the world silently gained cold fusion capacity, without them even noticing. There are simply no arguments today that dictates that it requires the same amount of resources to replace their legacy projects, as it took to create it in the first place. In fact, often replacing such systems can be done surprisingly much faster than they think, and a lot of their existing structure can also be transferred into the new codebase.

Magic Workflow

Few people are at this point in time willing to bet their money on .Net Framework, simply because .Net Core is obviously the future. This creates problems for us developers, since a lot of the tools we have grown used to, simply doesn't exist in .Net Core. One example of such a tool is Microsoft Workflow Foundation. According to what I've read, Microsoft is not willing to port Workflow Foundation to .Net Core either, so as you cross the bridge into ".Net Core land", you'll have to leave workflows behind.

What is Microsoft Workflow Foundation?

To find out how to replace Workflow Foundation, we must first ask ourselves what its primary feature is. As in, what makes MWF valuable for developers, and why have so many chosen to use it over the years?

DataTables Template That Simplifies the Work

This article is dedicated to how nopCommerce, the most popular e-commerce platform on .Net Core, has switched to using the DataTables library on jQuery. With the help of a wrapper template for DataTablese, we tried to simplify for ourselves and third-party developers such a painstaking and tedious task as declaring the tables used in a project.

Why We Decided to Move Away From Kendo UI to DataTables

In nopCommerce up to the last 4.20 version we used quite popular UI framework by Telerik - Kendo UI. This client framework, based on jQuery, allows users to render visual controls such as tables, input fields, drop-down lists, etc.