MQTTnet
Home
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MQTTnet
-
Communicating between 2 servers without webservice?
MQTT https://github.com/dotnet/MQTTnet
-
What your hidden nuget gems ?
MQTTNet - High perf IOT comms for .NET - https://github.com/dotnet/MQTTnet
-
Workaround for Register-ObjectEvent : Events that require a return value are not supported. ?
I'm trying to use MQTT.Net and so far everything works.. except for event handling.
-
Best way to architecture an application for IoT and RFID
Like the other guy said it depends on the requirements, but you could implement your own mqtt server with MQTTnet with a few lines of code
-
Discussion Thread
For the server we used mosquitto because we already used it in the past (and it's relatively simple), for the client MQTTnet because it's .net and it seemed good enough (mosquitto has a client library too but it's C so I'd have to write some interop). It's a simple protocol so it shouldn't really matter which implementation you use.
- Is there a library or code example on how to decode MQTT Message payload?
-
Demystifying Azure IoT Hub Device SDKs
We are going to use MQTTNet as the foundation for this article, although the same concepts can be applied with any other MQTT client.
-
Coming to .Net core from Python and Linux with what I think is a really simple project - are there any good guides to help me translate my existing knowledge?
[2] https://github.com/dotnet/MQTTnet
- 6 .NET Myths Dispelled — Celebrating (Almost) 21 Years of .NET
-
ESP32 MQTT with Firebase
For example, I used MQTTnet which is a very nice (high performance & extensible) library. And it's free/open source. If you're not writing your server code in .NET, then look for whatever broker libraries are available on your server platform.
Home
-
Shepherd's Oasis: Statement on RustConf & Introspection
Are you sure you want Microsoft in particular to step in? https://github.com/dotnet-foundation/Home/discussions/39
-
Rust has been forked to the Crab Language
Indeed, by criteria of community drama, .NET is also too immature for use. See [1], as the conclusion of that.
[1]: https://github.com/dotnet-foundation/Home/discussions/40
- 6 .NET Myths Dispelled — Celebrating (Almost) 21 Years of .NET
-
.NET 6
Saying that outcry was about one tiny decision is like saying WW1 was because an Archduke got assassinated.
Microsoft's handling of .NET 's OSS community has been haphazard at best. Just a week or two prior to the 'dotnet watch' debacle, there were issues and concerns with the .NET Foundation that led to the Executive Director stepping down [0].
I bring this up, because in many cases the perception is that there is -still- lock in, just in a different fashion.
By that, I mean, if you Ask a typical .NET developer what they use, they'll probably say ASPNETCORE, EF Core, maybe you'll hear Hangfire, MediatR, RestSharp, or Dapper.
So, you've got a bunch of .NET devs that -only- know Microsoft technologies for the most part. Yeah there's some other stuff like MongoDb, Kafka, Redis, stuff like that, but It's not very frequent you hear about teams reaching out to other technologies.
It's very rare I hear people bring up Linq2Db, a beautiful* Micro-ORM that is best described as a type-safe, extensible SQL DSL. Or Websharper, a really-freaking-cool library that basically lets you transpile your C#/F# code into Javascript and/or Reactive HTML, complete with seamless server calls if you'd like.
You might run into some interesting things at different places. One shop I was at used MassTransit, which was kinda cool. I've wound up using Akka.NET a few times in the past, which has always been super fun.
The end result of this though, is the -perception- of what .NET Developers are like. And sometimes those perceptions are real. I remember the dev that felt Dapper was some sort of 'black magic' and would stick to writing DataReaders and or datatables by hand, and another that was so against the idea including Non-MS tech in a project that it wound up costing him his job; he insisted there was a way to get EF to do things in a performant way (answer: not sanely, and not easily the way the app was built on an arch level,) and refused to accept a PR that solved the problem with Dapper.
He wound up doing the thing I've seen a -lot- of .NET developers do; fight the Framework.
To be clear here, I'm not referring to the BCL. It's not always perfect (I'd love for an analogue to SSLEngine, please?), but it's -fine-. I'm referring to bits like ASPNETCORE, EFCore, SignalR, and Microsoft.Extensions.(DependencyInjection/Logging) where developers wind up getting in awkward tarpits around some weird edge case because of a business requirement or some other decision that, unfortunately, can't be undone.
Or are just plain 'well, that sounds sensible in theory' like "I would like to update N rows in an new status that are older than 1 month and set to overdue, and not have it be N update statements." Maybe EF does that now, but last I knew the answer was not really.
At my first 'Real' Dev job, we were a .NET shop, that often had to 'fight the framework' (it didn't help that we were on an Oracle Backend, which made -everything- more of a PITA before we discovered Dapper.) When the .NET guys hit one of these roadblocks, it would often take sprint after sprint of fighting to either have no solution, or have a solution that would render the app hard to maintain. The newer teams using Java? They didn't have those problems. We later heard they had 5 different ORM-ish libraries in use over there. At the time, a lot of the .NET devs kinda treated it as a sort of derision. 'hows somebody gonna understand it?'... But the Java teams delivered. It is also worth considering, maybe those were the best libraries to solve the problems that the app in question needed to deal with.
And that's kinda the 'mindset' that is a set of .NET developers that fit the stereotype; if it's not an app that fits their cookie-cutter world, they break down and can't understand it. In other words, they're afraid to step outside the box, which means they're less likely to think outside the box.
The typical 'litmus-test' of this type for me is a sliding scale based on their past/current experience with other languages and willingness to work with them.
* - I do some contribution work to Linq2Db, so my opinion may be a little biased.
[0] - https://github.com/dotnet-foundation/Home/discussions/39#
-
.NET Hot Reload Support via CLI Restored
I've heard this so many times within the last 10 years, and it's always after they've done something really stupid. At least in the FOSS realm, regarding microsoft, people are just so naive it's laughable. Like here where everyone is responding by pretty much saying "oh, it seems I've signed my rights away. I sure hope Microsoft doesn't abuse this in the future" ... I stopped feeling bad after reading responses.
- Can we trust Microsoft with Open Source?
- Detailed thoughts on the State of the .NET Foundation · Discussion #60 · dotnet-foundation/Home
-
.Net Foundation opens discussions around recent issues.
Part of the drama: https://github.com/dotnet-foundation/Home/discussions/39 Many things before were on twitter.
- Miguel de Icaza comment on the .NET Foundation
What are some alternatives?
SparkplugNet - SparkplugNet is a library to use the Sparkplug industrial IoT (IIoT) standard in .Net. It uses MQTTnet in the background.
jedi-language-server - A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.
Mqtt2Mqtt - Customize MQTT messages between two brokers
sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
SignalR-Client-Cpp - C++ Client for ASP.NET Core SignalR
splat - Makes things cross-platform
SignalR-Client-Cpp - C++ client for ASP.NET SignalR 2.x
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
hivemq-community-edition - HiveMQ CE is a Java-based open source MQTT broker that fully supports MQTT 3.x and MQTT 5. It is the foundation of the HiveMQ Enterprise Connectivity and Messaging Platform
crab - A community fork of a language named after a plant fungus. All of the memory-safe features you love, now with 100% less bureaucracy!
serilog-sinks-console - Write log events to System.Console as text or JSON, with ANSI theme support
loom - https://openjdk.org/projects/loom