Hey guys,
It’s been awhile since I’ve had to approach this issue, but I am running into a lot of instances where I am writing code that is pinging a server every X seconds for state related commands.


I know SignalR was a… thing for a bit. But is it still?
What do you guys use? Also any recommendations for cross system compatibility? My backend is all .net framework, but some of the clients can be swift/web/ios/android and more…

SignalR is very much still a thing. Blazor has baked in support for it and that’s MS’s new flagship web tech. The IObservable pattern works well.
SignalR is alive and well. It was rewritten for ASP.NET Core so there’s now two versions:
The legacy “ASP.NET SignalR” which is supported but in maintenance mode. It only runs on older versions of the .NET framework.
The actively developed “ASP.NET Core SignalR” which runs on .NET 5. It’s also used by other technologies like Blazor Server.
https://docs.microsoft.com/en-us/aspnet/core/signalr/version-differences?view=aspnetcore-5.0

Unfortunately, having a legacy version of SignalR with only a subtle branding difference makes it it easy to incorrectly assume SignalR is no longer being actively developed, but that’s not the case.
Redis also has pub/sub.
There are SignalR clients available for multiple languages. You might also want to look into gRPC for server to server communications. It’s cross platform and also integrates really well with ASP.NET Core.
You mentioned pub/sub in the title but I didn’t see anything about it in your post.

Without knowing details about your app etc, you could use pub/sub or event messaging as another alternative. Some kind of queue or topic/sub would be a good option.
Pub/Sub? I would look at RabbitMQ as a message server. Is open source, very mature and reliable, has native clients for every language but also lets you send HTTP posts too ( which you can basically do from any platform )
source