Kod örnekleri

C# (.NET) MQTT örneği

MQTTnet ile C# ve .NET’i bir MQTT broker’a bağlayın. Ücretsiz herkese açık broker’da başlayın, ardından aynı kodu ConnectMQ üzerindeki güvenli, özel bir broker’a yönlendirin.

Kütüphane
MQTTnet 4
Kurulum
dotnet add package MQTTnet --version 4.3.7.1207
Kaynak kod GitHub’damqtt-code-samples/csharpÇalıştırılmaya hazır örneklerin tamamını klonlayın. Yıldız ve pull request’lere açığız. GitHub'da görüntüle

1. Ücretsiz herkese açık broker’da deneyin

Hesap gerekmez: 1883 portundan broker.connectmq.com adresine bağlanın ve saniyeler içinde yayın yapmaya başlayın.

Program.cs
using MQTTnet;
using MQTTnet.Client;

var topic = "your-project/sensors/temperature"; // Benzersiz bir topic öneki kullan: herkese açık broker’ı herkes okuyabilir
var client = new MqttFactory().CreateMqttClient();

// Abone olunan topic’teki her mesaj için çalışır
client.ApplicationMessageReceivedAsync += e =>
{
    Console.WriteLine($"{e.ApplicationMessage.Topic}: {e.ApplicationMessage.ConvertPayloadToString()}");
    return Task.CompletedTask;
};

// Ücretsiz herkese açık broker’a bağlan (hesap gerekmez)
var options = new MqttClientOptionsBuilder()
    .WithTcpServer("broker.connectmq.com", 1883)
    .Build();
await client.ConnectAsync(options);

// Sıcaklık topic’ine abone ol
await client.SubscribeAsync(topic);
// JSON formatında bir ölçüm yayınla
await client.PublishStringAsync(topic, "{\"temperature\":21.5}");

// İstemciyi çalışır durumda tut
Console.ReadLine();

Ücretsiz herkese açık MQTT broker

Herkese açık broker paylaşımlıdır: topic’lerinize herkes abone olabilir. Üzerinden asla parola, kişisel veri veya gizli bilgi göndermeyin.

Ücretsiz herkese açık MQTT broker hakkında

2. ConnectMQ ile canlıya geçin

Gerçek cihazlar için herkese açık broker yerine ConnectMQ üzerinde özel, sunucusuz bir MQTT broker kullanın: TLS şifreleme, her cihaz için kullanıcı adı ve parola ile topic bazlı erişim denetimi, tamamen yönetilen. Free planla başlayın — kart gerekmez.

YOUR_BROKER_HOST, YOUR_USERNAME ve YOUR_PASSWORD değerlerini ConnectMQ panelinizdeki bilgilerle değiştirin.

Program.cs
using MQTTnet;
using MQTTnet.Client;

var topic = "your-project/sensors/temperature";
var client = new MqttFactory().CreateMqttClient();

// Abone olunan topic’teki her mesaj için çalışır
client.ApplicationMessageReceivedAsync += e =>
{
    Console.WriteLine($"{e.ApplicationMessage.Topic}: {e.ApplicationMessage.ConvertPayloadToString()}");
    return Task.CompletedTask;
};

// 8883 portundan özel ConnectMQ broker’ınıza bağlan
var options = new MqttClientOptionsBuilder()
    .WithTcpServer("YOUR_BROKER_HOST", 8883)
    // ConnectMQ panelinizdeki kullanıcı adı ve parola
    .WithCredentials("YOUR_USERNAME", "YOUR_PASSWORD")
    // TLS: broker sertifikasını sistemin CA deposu doğrular
    .WithTlsOptions(o => o.UseTls())
    .Build();
await client.ConnectAsync(options);

// Sıcaklık topic’ine abone ol
await client.SubscribeAsync(topic);
// JSON formatında bir ölçüm yayınla
await client.PublishStringAsync(topic, "{\"temperature\":21.5}");

// İstemciyi çalışır durumda tut
Console.ReadLine();

C# (.NET) MQTT SSS

C# (.NET) bir MQTT broker’a nasıl bağlanır?

MQTTnet 4 kurun, broker sunucusuna 1883 portundan (TLS ile 8883) bağlanın, ardından bir topic’e abone olup aynı topic’e mesaj yayınlayın. Bu sayfadaki örnekler ücretsiz herkese açık broker.connectmq.com’a ve özel bir ConnectMQ broker’ına bağlanır.

C# (.NET) testleri için ücretsiz bir MQTT broker var mı?

Evet. broker.connectmq.com, hesap gerektirmeyen ücretsiz ve herkese açık bir MQTT broker’dır. Topic’lerini herkes okuyabildiği için yalnızca testlerde kullanın ve benzersiz bir topic öneki seçin.

C# (.NET) MQTT bağlantısı nasıl güvenli hale getirilir?

ConnectMQ panelinizden aldığınız kullanıcı adı ve parolayla 8883 portu üzerinden TLS ile bağlanın; herkese açık broker yerine her cihaza kendi kimlik bilgilerini ve topic izinlerini verin.

Ücretsiz herkese açık MQTT broker

Her örneği broker.connectmq.com üzerinde test edin — kayıt gerekmez; MQTT 3.1.1 ve 5, TCP, TLS ve WebSocket desteklenir.

Ücretsiz herkese açık MQTT broker hakkında

Canlı ortam için güvenli, sunucusuz MQTT

Gerçek cihazlara geçme zamanı geldiğinde aynı kodu TLS ve cihaz başına kimlik bilgileriyle özel, tamamen yönetilen bir ConnectMQ broker’ında çalıştırın.

Ücretsiz başlayın

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.

WebSocket Üzerinden MQTT: MQTT.js ile Tarayıcıyı MQTT Broker'a Bağlayın

Tarayıcılar ham TCP soketleri açamaz; bu yüzden web uygulamaları MQTT'yi WebSocket üzerinden konuşur. broker.connectmq.com'a bağlanan çalışan bir tarayıcı client'ı ve bir Node.js client'ı geliştirin, en sık görülen bağlantı hatalarını nasıl düzelteceğinizi öğrenin.

7 dk okuma