{"id":8200,"date":"2024-03-14T07:41:46","date_gmt":"2024-03-14T07:41:46","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/"},"modified":"2025-08-03T01:48:47","modified_gmt":"2025-08-03T01:48:47","slug":"how-to-accomplish-sending-and-receiving-udp-data-in-qt","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/","title":{"rendered":"Qt UDP Guide: Send &#038; Receive Data"},"content":{"rendered":"<p>To implement UDP data sending and receiving in Qt, you need to use the QUdpSocket class. Here is a simple example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u521b\u5efa\u4e00\u4e2aQUdpSocket\u5bf9\u8c61<\/span>\r\nQUdpSocket *udpSocket = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-built_in\">QUdpSocket<\/span>(<span class=\"hljs-keyword\">this<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u7ed1\u5b9a\u672c\u5730\u7aef\u53e3\u7528\u4e8e\u63a5\u6536\u6570\u636e<\/span>\r\nudpSocket-&gt;<span class=\"hljs-built_in\">bind<\/span>(QHostAddress::Any, <span class=\"hljs-number\">1234<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u53d1\u9001\u6570\u636e<\/span>\r\nudpSocket-&gt;<span class=\"hljs-built_in\">writeDatagram<\/span>(<span class=\"hljs-string\">\"Hello UDP\"<\/span>, QHostAddress::LocalHost, <span class=\"hljs-number\">1234<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u63a5\u6536\u6570\u636e<\/span>\r\n<span class=\"hljs-built_in\">connect<\/span>(udpSocket, &amp;QUdpSocket::readyRead, <span class=\"hljs-keyword\">this<\/span>, [=](){\r\n    QByteArray datagram;\r\n    datagram.<span class=\"hljs-built_in\">resize<\/span>(udpSocket-&gt;<span class=\"hljs-built_in\">pendingDatagramSize<\/span>());\r\n    QHostAddress sender;\r\n    quint16 senderPort;\r\n\r\n    udpSocket-&gt;<span class=\"hljs-built_in\">readDatagram<\/span>(datagram.<span class=\"hljs-built_in\">data<\/span>(), datagram.<span class=\"hljs-built_in\">size<\/span>(), &amp;sender, &amp;senderPort);\r\n\r\n    <span class=\"hljs-built_in\">qDebug<\/span>() &lt;&lt; <span class=\"hljs-string\">\"Received datagram: \"<\/span> &lt;&lt; datagram;\r\n    <span class=\"hljs-built_in\">qDebug<\/span>() &lt;&lt; <span class=\"hljs-string\">\"From: \"<\/span> &lt;&lt; sender.<span class=\"hljs-built_in\">toString<\/span>() &lt;&lt; <span class=\"hljs-string\">\":\"<\/span> &lt;&lt; senderPort;\r\n});\r\n<\/code><\/pre>\n<p>In the given code, a QUdpSocket object udpSocket is first created and bound to local port 1234 to receive data. Data is then sent to the local host&#8217;s port 1234 using the writeDatagram method. The data is received by connecting to the signal readyRead, obtaining the data size from pendingDatagramSize(), reading the data using readDatagram method, and then printing out the received data along with the sender&#8217;s IP address and port number.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To implement UDP data sending and receiving in Qt, you need to use the QUdpSocket class. Here is a simple example code: \/\/ \u521b\u5efa\u4e00\u4e2aQUdpSocket\u5bf9\u8c61 QUdpSocket *udpSocket = new QUdpSocket(this); \/\/ \u7ed1\u5b9a\u672c\u5730\u7aef\u53e3\u7528\u4e8e\u63a5\u6536\u6570\u636e udpSocket-&gt;bind(QHostAddress::Any, 1234); \/\/ \u53d1\u9001\u6570\u636e udpSocket-&gt;writeDatagram(&#8220;Hello UDP&#8221;, QHostAddress::LocalHost, 1234); \/\/ \u63a5\u6536\u6570\u636e connect(udpSocket, &amp;QUdpSocket::readyRead, this, [=](){ QByteArray datagram; datagram.resize(udpSocket-&gt;pendingDatagramSize()); QHostAddress sender; quint16 senderPort; udpSocket-&gt;readDatagram(datagram.data(), datagram.size(), &amp;sender, [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[274,3390,5361,10866,10865],"class_list":["post-8200","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c","tag-networking","tag-qt","tag-qudpsocket","tag-udp"],"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>Qt UDP Guide: Send &amp; Receive Data - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.\" \/>\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-accomplish-sending-and-receiving-udp-data-in-qt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qt UDP Guide: Send &amp; Receive Data\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\" \/>\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-14T07:41:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-03T01:48:47+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\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=\"Liam\" \/>\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-accomplish-sending-and-receiving-udp-data-in-qt\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"Qt UDP Guide: Send &#038; Receive Data\",\"datePublished\":\"2024-03-14T07:41:46+00:00\",\"dateModified\":\"2025-08-03T01:48:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\"},\"wordCount\":100,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"c#\",\"networking\",\"Qt\",\"QUdpSocket\",\"UDP\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\",\"name\":\"Qt UDP Guide: Send & Receive Data - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T07:41:46+00:00\",\"dateModified\":\"2025-08-03T01:48:47+00:00\",\"description\":\"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qt UDP Guide: Send &#038; Receive Data\"}]},{\"@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\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Qt UDP Guide: Send & Receive Data - Blog - Silicon Cloud","description":"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.","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-accomplish-sending-and-receiving-udp-data-in-qt\/","og_locale":"en_US","og_type":"article","og_title":"Qt UDP Guide: Send & Receive Data","og_description":"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T07:41:46+00:00","article_modified_time":"2025-08-03T01:48:47+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"Qt UDP Guide: Send &#038; Receive Data","datePublished":"2024-03-14T07:41:46+00:00","dateModified":"2025-08-03T01:48:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/"},"wordCount":100,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["c#","networking","Qt","QUdpSocket","UDP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/","name":"Qt UDP Guide: Send & Receive Data - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T07:41:46+00:00","dateModified":"2025-08-03T01:48:47+00:00","description":"Learn how to implement UDP data transmission in Qt using QUdpSocket. Complete guide with code examples for sending and receiving UDP packets.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-accomplish-sending-and-receiving-udp-data-in-qt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Qt UDP Guide: Send &#038; Receive Data"}]},{"@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\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8200","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\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=8200"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8200\/revisions"}],"predecessor-version":[{"id":152999,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8200\/revisions\/152999"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=8200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=8200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=8200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}