In the ever-evolving landscape of software development, communication between processes has been a fundamental requirement since the inception of computer networking. As technology advanced, the need for efficient and reliable inter-process communication (IPC) mechanisms became increasingly crucial. One such mechanism that has stood the test of time is the socket.
Sockets trace their origins back to the early days of computer networking in the 1970s. The concept was first introduced in the Unix operating system by researchers at the University of California, Berkeley, as part of their work on the ARPANET project, which eventually evolved into the modern internet. Sockets were designed to provide a standardized interface for network communication, allowing processes to exchange data across different machines and networks.
Initially, sockets were primarily used for network programming tasks, such as building client-server applications and facilitating communication between distributed systems. However, their versatility soon became apparent, and sockets found their way into various domains, including inter-process communication (IPC) within a single machine.
Over the years, sockets have undergone numerous enhancements and standardizations, with the Berkeley Software Distribution (BSD) sockets becoming the de facto standard for network programming. This standard was later adopted by other operating systems, including Microsoft Windows, ensuring cross-platform compatibility and enabling widespread adoption.
In the world of software development, communication between processes is a common requirement, whether it’s a client-server architecture, distributed systems, or inter-process communication (IPC). Sockets provide a powerful mechanism for processes to exchange data efficiently and reliably. This article explores a simple implementation of a TCP client-server communication using sockets in C#, showcasing the versatility and robustness of this time-tested technology.
.NET *
A hub about .NET
Could async/await magic create thread, or it is always: “There is no thread”?
When we are told “There is no thread” we can easily come to an opinion that it is impossible at ALL that asynchronous operation could create thread, but it would be wrong opinion. Simple code example proves the opposite.
Those who are easy to treat the sentence as the universal rule are easy to understand. They would like to simplify the subject and to cut amount of theory they should study and remember. Besides to many it is new level of knowledge to discover there is other layer of classes to manage async-operations behavior beside the Tasks and and SynchronizationContext is only one among them.
Validation of custom data with Minimal API filters, sensible and without fuss
This is a step-by-step research of a clear and intuitive approach to validate custom data in .NET applications with help of the Minimal API filters and the FlatValidator.
Memory consumption of .NET applications on Linux
In this article, I will cover the memory consumption of .NET applications on Linux. Firstly, we will try to understand the idea of virtual memory. Then, we will examine the memory statistics that Linux provides, such as RSS (Resident Set Size), VmData, RES (Resident Memory Size), and SWAP. Following that, we will delve into specifics related to the .NET.
Wie ich ein einfaches Monitoring von Kanälen mit Benachrichtigungen an Slack ohne Erfahrung gemacht habe
Arbeiten im technischen Support brachte zusätzlich zu allen Aufgaben die Pflicht mit sich, die Kommunikationskanäle zu überwachen. Dies wurde über den Grafana-Dienst realisiert, der die erforderlichen Metriken aus Zabbix bezog. Da die Art der Arbeit jedoch bedeutete, dass man nicht immer an seinem Arbeitsplatz sitzt, kam mir die Idee, dies ein wenig zu automatisieren und Benachrichtigungen auf das Telefon oder zum Beispiel in einen Messenger zu erhalten, falls ein Kommunikationskanal ausfällt. Allerdings hatte ich keinen Zugriff auf das Zabbix-System und auch keinen erweiterten Zugriff auf Grafana.
5 Ways to Prepare Your Business For The Metaverse
The Metaverse is a futuristic concept that has been transformed into reality with ongoing advancements in technology. The term Metaverse was first coined in 1992 in the Sci-fi Novel “Snow Crash'' by Neal Stephenson. However, ever since Facebook rebranded itself as Meta in 2021, it has become a trending buzzword in today’s technological space. Ever since then, various renowned companies including Microsoft, Nike, Adidas, Roblox, and more have invested millions in this concept. Although the Metaverse for business is still in its initial phase, it holds the potential to revolutionalise various industries from gaming to real estate.
The Metaverse is an amalgamation of various advanced technologies like AR/VR, AI, 3D reconstruction, and more. It aims to create a virtual universe where users can interact with each other and carry out various types of daily chores including working, shopping, travelling, etc.
This article will focus on the various ways that will tell you how to enter the Metaverse and make profits. So without further delay, let’s get started.
The Best NBA Fantasy Apps in 2023
[Image Credit: dunkest.com]
Are you looking for the best NBA fantasy apps in 2023? If yes, then you have landed on the right article. As we all know, in recent years fantasy sports like the fantasy NBA have really grown in terms of audience and more people are showing their interest in it. Players are very excited to use the best NBA fantasy app.
For a basketball fan, the NBA season is the best time of the year, and fantasy sports app development have become the latest trend where you can create your own team and can compete with real-time teams. It offers you not only fun but also offers you an opportunity to make money.
Let's know about the fantasy basketball league.
What is a Fantasy Basketball League?
Basketball fantasy leagues are a popular medium for millions of fans where they play their popular online NBA sports every year. Such a platform allows you to create your own team, play alongside your featured team, watch live highlights, draft your lineup, and many more. Here you can choose the top world of the world and can make your fantasy team in order to compete with a real team in an online fantasy basketball platform. Using this kind of platform, fans are able to create private leagues with their friends, view the latest scores, analysis, lineups, and trades, and configure rules.
Now, Let's know about the popular NBA fantasy app.
Top NBA Fantasy Apps in 2023
Players are highly fascinated by NBA fantasy sports, and day by day the number of players is increasing. There are various platforms where you can enjoy the NBA fantasy app but choosing the right platform may be a tedious task. So, for your help, we have prepared a list of the best NBA fantasy app for both Android and iOS.
NFun — expression evaluator for .Net
Nfun is an embedded language and expression executor that supports primitive types, arrays, structures and lambda expressions.
Most likely, you have already met tasks that require such a tool, and in this article I want to show examples of its application, its capabilities and why it may be useful to you.
How to handle Stale Element Reference Exception in E2E testing of modern SPA applications
Hello everyone, my name is Denis, I am Software Developer Engineer in Test (SDET) at Bimeister. I am in charge of test software development - frameworks, automated tests, CI Pipelines configuration, and much more.
In this article, I will tell you how we defeated the Stale Element Reference Exception while developing our framework using Selenium WebDriver and C#.
.NET: Couple words about using MemoryCache
In this post, I describe how to use MemoryCache and track lifetime of entities in .NET applications.
Sharing .NET-experience: Streams pooling by using Microsoft.IO.RecyclableMemoryStream
The pooling is the good practice to reuse created resources instead of a new allocation. I found Microsoft.IO.RecyclableMemoryStream package for using memory streams pooling during logging HTTP-requests in my server.
Unity: What is a Coroutine and why is there an IEnumerator
The title of the article is a question I was asked in an interview for a Middle position. In this article, we will look at Unity coroutines, what they are, and at the same time we will capture the topic of Enumerator \ Enumerable in C # and a little secret of foreach. The article should be very useful for beginners.
Why does my app send network requests when I open an SVG file?
You decided to make an app that works with SVG. Encouraged by the enthusiasm, you collected libraries and successfully made the application. But suddenly you find that the app is sending strange network requests. And data is leaking from the host-machine. How so?
Vulnerabilities due to XML files processing: XXE in C# applications in theory and in practice
How can simple XML files processing turn into a security weakness? How can a blog deployed on your machine cause a data leak? Today we'll find answers to these questions, learn what XXE is and how it looks like.
Playing with null: Checking MonoGame with the PVS-Studio analyzer
The PVS-Studio analyzer often checks code of libraries, frameworks, and engines for game development. Today we check another project — MonoGame, a low-level gamedev framework written in C#.
Re-checking PascalABC.NET
Welcome all fans of clean code! Today we analyze the PascalABC.NET project. In 2017, we already found errors in this project. We used two static analysis tools (more precisely, plugins for SonarQube): SonarC# and PVS-Studio. Today, we analyze this project with the latest version of the PVS-Studio analyzer for C#. Let's see what errors we can find today, especially when our analyzer has become more advanced and got new features: it can find more exquisite errors and potential vulnerabilities.
The most interesting C# / .NET blogs and websites
Let's take a look at the list of information sources that can be useful for the C# / .NET developers. Our list includes blogs, repositories with source code, standards and accounts of developers who covers the deep aspects of the C# and .NET.
Top 10 bugs found in C# projects in 2021
In 2021 we published several articles and showed you errors found in open-source projects. The year 2021 ends, which means it's time to present you the traditional top 10 of the most interesting bugs. Enjoy!
Errors and suspicious code fragments in .NET 6 sources
The .NET 6 turned out to be much-awaited and major release. If you write for .NET, you could hardly miss such an event. We also couldn't pass by the new version of this platform. We decided to check what interesting things we can find in the sources of .NET libraries.
PVS-Studio checks Umbraco code for the third time
Six years ago, we first checked Umbraco with the PVS-Studio static analyzer for C#. Today, we decided to go where it all started and analyze the Umbraco CMS source code.
Authors' contribution
sidristij 3013.4XaocCPS 1863.6sahsAGU 1303.2olegchir 1250.6mezastel 1199.6SergeyT 1140.6SergVasiliev 1121.0phillennium 1062.6marshinov 888.2chernikov 822.0