Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Series
.NET Core Web API
36
Angular
31
JavaScript Basics
19
JavaScript Intermediate
18
JavaScript Advanced
16
TypeScript Basics
14
TypeScript Intermediate
14
TypeScript Advanced
12
Entity Framework Core
28
Dapper
16
Git & GitHub
29
Web Security (OWASP Top 10)
21
LLM Fundamentals
20
C# Fundamentals
20
Object-Oriented Programming in C#
16
C# Collections and Generics
11
LINQ
17
Asynchronous Programming in C#
17
Advanced C#
14
C# Versions
6
Solution Patterns
22
SOLID and Design Principles
12
Clean Code
13
Design Patterns
23
UML and Modeling
18
Introduction to Software Architecture
9
Clean, Onion and Hexagonal Architecture
8
Vertical Slice Architecture
6
Domain-Driven Design
12
CQRS and Event Sourcing
10
Messaging and Event-Driven Architecture
9
Modular Monolith
2
Microservices
10
UI Architecture Patterns
9
Architecture Decisions
7
System Design
15
Distributed Systems Fundamentals
11
Background Jobs and Scheduled Jobs
11
Working with Message Queues
14
Logging in .NET
10
Caching
10
Real-time Applications
9
ASP.NET Core MVC and Razor Pages
13
CI/CD Fundamentals
8
GitHub Actions
16
Jenkins
12
Web Servers and Hosting
12
Deployment Strategies
9
Kubernetes
19
ASP.NET Core Security
8
2 posts found
#websocket
Backend
PART 01
Real-time Options: Polling, Long Polling, Server-Sent Events, WebSocket and SignalR — Which One When?
Use SSE for one-way notifications, WebSocket or SignalR for two-way low latency, and polling for rarely changing data. We build the same order status feature five ways and measure latency, request count and memory per connection; plus a decision table, where WebTransport stands, and why not everything should be real-time.
8 Nov 2026
11 min
4
Backend
PART 02
Raw WebSockets in ASP.NET Core: UseWebSockets, the Receive Loop, the Close Handshake and an Angular Client
With raw WebSockets you must accumulate a message until EndOfMessage with a size limit, write to the socket from a single loop and check Origin yourself. The receive loop, the close handshake, KeepAliveTimeout, a Channel-based send queue, a connection registry, the compression risk, and reconnecting with backoff in Angular using RxJS webSocket().
8 Nov 2026
13 min
4