{"id":19622,"date":"2024-03-15T19:11:48","date_gmt":"2024-03-15T19:11:48","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/"},"modified":"2024-03-21T16:08:31","modified_gmt":"2024-03-21T16:08:31","slug":"how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/","title":{"rendered":"How to determine if the data has been successfully uploaded in C# using MQTT?"},"content":{"rendered":"<p>In C#, you can use an MQTT client library to upload data and determine success by subscribing to relevant topics.<\/p>\n<p>Firstly, you need to install an MQTT client library using the NuGet package manager, such as MQTTnet.<\/p>\n<p>Afterwards, you can use the following code to upload the data and check if it was successful.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">using<\/span> System;\r\n<span class=\"hljs-keyword\">using<\/span> MQTTnet;\r\n<span class=\"hljs-keyword\">using<\/span> MQTTnet.Client;\r\n<span class=\"hljs-keyword\">using<\/span> MQTTnet.Client.Options;\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Program<\/span>\r\n{\r\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">async<\/span> Task <span class=\"hljs-title\">Main<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">string<\/span>[] args<\/span>)<\/span>\r\n    {\r\n        <span class=\"hljs-keyword\">var<\/span> factory = <span class=\"hljs-keyword\">new<\/span> MqttFactory();\r\n        <span class=\"hljs-keyword\">var<\/span> client = factory.CreateMqttClient();\r\n\r\n        <span class=\"hljs-keyword\">var<\/span> options = <span class=\"hljs-keyword\">new<\/span> MqttClientOptionsBuilder()\r\n            .WithTcpServer(<span class=\"hljs-string\">\"localhost\"<\/span>, <span class=\"hljs-number\">1883<\/span>) <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6eMQTT\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3<\/span>\r\n            .Build();\r\n\r\n        <span class=\"hljs-keyword\">await<\/span> client.ConnectAsync(options); <span class=\"hljs-comment\">\/\/ \u8fde\u63a5\u5230MQTT\u670d\u52a1\u5668<\/span>\r\n\r\n        <span class=\"hljs-keyword\">var<\/span> message = <span class=\"hljs-keyword\">new<\/span> MqttApplicationMessageBuilder()\r\n            .WithTopic(<span class=\"hljs-string\">\"topic\"<\/span>) <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u4e0a\u4f20\u6570\u636e\u7684\u4e3b\u9898<\/span>\r\n            .WithPayload(<span class=\"hljs-string\">\"data\"<\/span>) <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u8981\u4e0a\u4f20\u7684\u6570\u636e<\/span>\r\n            .WithExactlyOnceQoS() <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6eQoS\u4e3aExactlyOnce<\/span>\r\n            .WithRetainFlag() <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6eRetain\u6807\u5fd7<\/span>\r\n            .Build();\r\n\r\n        <span class=\"hljs-keyword\">var<\/span> result = <span class=\"hljs-keyword\">await<\/span> client.PublishAsync(message); <span class=\"hljs-comment\">\/\/ \u4e0a\u4f20\u6570\u636e<\/span>\r\n\r\n        <span class=\"hljs-keyword\">if<\/span> (result.ReasonCode == MqttClientPublishReasonCode.Success)\r\n        {\r\n            Console.WriteLine(<span class=\"hljs-string\">\"\u6570\u636e\u4e0a\u4f20\u6210\u529f\"<\/span>);\r\n        }\r\n        <span class=\"hljs-keyword\">else<\/span>\r\n        {\r\n            Console.WriteLine(<span class=\"hljs-string\">\"\u6570\u636e\u4e0a\u4f20\u5931\u8d25\"<\/span>);\r\n        }\r\n\r\n        <span class=\"hljs-keyword\">await<\/span> client.DisconnectAsync(); <span class=\"hljs-comment\">\/\/ \u65ad\u5f00\u4e0eMQTT\u670d\u52a1\u5668\u7684\u8fde\u63a5<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the above code, an MQTT client instance is first created and the address and port of the MQTT server are set using MqttClientOptionsBuilder. Then, the ConnectAsync method is used to connect to the MQTT server.<\/p>\n<p>Next, a message for uploading data was created using MqttApplicationMessageBuilder, where the topic, data, QoS, and Retain flag were set.<\/p>\n<p>Then, upload the data using the PublishAsync method and determine if the upload was successful by checking the ReasonCode property in the returned MqttClientPublishResult object.<\/p>\n<p>Lastly, use the DisconnectAsync method to disconnect from the MQTT server.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C#, you can use an MQTT client library to upload data and determine success by subscribing to relevant topics. Firstly, you need to install an MQTT client library using the NuGet package manager, such as MQTTnet. Afterwards, you can use the following code to upload the data and check if it was successful. using [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-19622","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to determine if the data has been successfully uploaded in C# using MQTT? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to determine if the data has been successfully uploaded in C# using MQTT?\" \/>\n<meta property=\"og:description\" content=\"In C#, you can use an MQTT client library to upload data and determine success by subscribing to relevant topics. Firstly, you need to install an MQTT client library using the NuGet package manager, such as MQTTnet. Afterwards, you can use the following code to upload the data and check if it was successful. using [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T19:11:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T16:08:31+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to determine if the data has been successfully uploaded in C# using MQTT?\",\"datePublished\":\"2024-03-15T19:11:48+00:00\",\"dateModified\":\"2024-03-21T16:08:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\"},\"wordCount\":160,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\",\"name\":\"How to determine if the data has been successfully uploaded in C# using MQTT? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T19:11:48+00:00\",\"dateModified\":\"2024-03-21T16:08:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to determine if the data has been successfully uploaded in C# using MQTT?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to determine if the data has been successfully uploaded in C# using MQTT? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/","og_locale":"en_US","og_type":"article","og_title":"How to determine if the data has been successfully uploaded in C# using MQTT?","og_description":"In C#, you can use an MQTT client library to upload data and determine success by subscribing to relevant topics. Firstly, you need to install an MQTT client library using the NuGet package manager, such as MQTTnet. Afterwards, you can use the following code to upload the data and check if it was successful. using [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T19:11:48+00:00","article_modified_time":"2024-03-21T16:08:31+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to determine if the data has been successfully uploaded in C# using MQTT?","datePublished":"2024-03-15T19:11:48+00:00","dateModified":"2024-03-21T16:08:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/"},"wordCount":160,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/","name":"How to determine if the data has been successfully uploaded in C# using MQTT? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T19:11:48+00:00","dateModified":"2024-03-21T16:08:31+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-determine-if-the-data-has-been-successfully-uploaded-in-c-using-mqtt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to determine if the data has been successfully uploaded in C# using MQTT?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=19622"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19622\/revisions"}],"predecessor-version":[{"id":53373,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19622\/revisions\/53373"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=19622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=19622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=19622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}