{"version":"1.0","provider_name":".NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2","provider_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch","author_name":"Kinfey Lo","author_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch\/author\/kinfeylo\/","title":"\u7528 .NET \u542f\u52a8\u4f60\u7684 DJI Ryze Tello \u65e0\u4eba\u673a | .NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"7eMEWSddov\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet-ch\/using-net-play-dji-ryze-tello\/\">\u7528 .NET \u542f\u52a8\u4f60\u7684 DJI Ryze Tello \u65e0\u4eba\u673a<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/dotnet-ch\/using-net-play-dji-ryze-tello\/embed\/#?secret=7eMEWSddov\" width=\"600\" height=\"338\" title=\"&#8220;\u7528 .NET \u542f\u52a8\u4f60\u7684 DJI Ryze Tello \u65e0\u4eba\u673a&#8221; &#8212; .NET\u4e2d\u6587\u5b98\u65b9\u535a\u5ba2\" data-secret=\"7eMEWSddov\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/dotnet-ch\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/dotnet-ch\/wp-content\/uploads\/sites\/75\/2023\/02\/03-1024x650.png","thumbnail_width":456,"thumbnail_height":456,"description":"\u5927\u7586\u7684 DJI Ryze Tello \u662f\u5165\u95e8\u7ea7\u7684\u65e0\u4eba\u673a\uff0c\u4e0d\u4ec5\u5728 STEM \u6559\u80b2\u4e2d\u6709\u975e\u5e38\u5e7f\u6cdb\u7684\u5e94\u7528\uff0c\u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u7f16\u7a0b\u5165\u95e8\u7684\u9996\u9009\u3002 \u901a\u8fc7 UDP \u534f\u8bae\u8c03\u7528 DJI Ryze Tello SDK \u53ef\u4ee5\u8ba9 DJI Ryze Tello \u65e0\u4eba\u673a\u6267\u884c\u8d77\u98de\uff0c\u964d\u843d\uff0c\u8f6c\u5411\u4ee5\u53ca\u4e0d\u540c\u7684\u82b1\u5f0f\u52a8\u4f5c\u3002 \u672c\u6587\u5c06\u4f1a\u901a\u8fc7 .NET \u521b\u5efa\u5e94\u7528\u6765\u63a7\u5236 DJI Ryze Tello\u3002 .NET UDP \u7f16\u7a0b \u4ec0\u4e48\u662f UDP \u201cUDP\uff08\u7528\u6237\u6570\u636e\u62a5\u534f\u8bae\uff09\u662f\u4e00\u4e2a\u4e0eIP \u534f\u8bae\u4e00\u8d77\u4f7f\u7528\u7684\u957f\u671f\u534f\u8bae\uff0c\u7528\u4e8e\u5728\u4f20\u8f93\u901f\u5ea6\u548c\u6548\u7387\u6bd4\u5b89\u5168\u6027\u548c\u53ef\u9760\u6027\u66f4\u91cd\u8981\u7684\u573a\u5408\u4e0b\u53d1\u9001\u6570\u636e\u3002 UDP \u4f7f\u7528\u4e00\u4e2a\u7b80\u5355\u7684\u3001\u5177\u6709\u6700\u5c0f\u534f\u8bae\u673a\u5236\u7684\u65e0\u8fde\u63a5\u901a\u4fe1\u6a21\u578b\u3002 UDP \u4f7f\u7528\u6821\u9a8c\u548c\u4fdd\u8bc1\u6570\u636e\u5b8c\u6574\u6027\uff0c\u4f7f\u7528\u7aef\u53e3\u53f7\u4ee5\u533a\u5206\u6570\u636e\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9\u4e2d\u4e0d\u540c\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u5b83\u65e0\u9700\u63e1\u624b\u4f1a\u8bdd\uff0c\u5373\u5c06\u4e0d\u53ef\u9760\u7684\u5e95\u5c42\u7f51\u7edc\u76f4\u63a5\u66b4\u9732\u7ed9\u4e86\u7528\u6237\u7684\u5e94\u7528\u7a0b\u5e8f\uff1a\u4e0d\u4fdd\u8bc1\u6d88\u606f\u4ea4\u4ed8\u3001\u4e0d\u4fdd\u8bc1\u4ea4\u4ed8\u987a\u5e8f\u4e5f\u4e0d\u4fdd\u8bc1\u6d88\u606f\u4e0d\u91cd\u590d\u3002\u5982\u679c\u9700\u8981\u7f51\u7edc\u63a5\u53e3\u5c42\u9762\u7684\u7ea0\u9519\u529f\u80fd\uff0c\u5219\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u4f7f\u7528\u4e3a\u6b64\u76ee\u7684\u8bbe\u8ba1\u7684\u4f20\u8f93\u63a7\u5236\u534f\u8bae\uff08TCP\uff09\u6216\u8005\u6d41\u63a7\u5236\u4f20\u8f93\u534f\u8bae\uff08SCTP\uff09\u3002\u201d \u5728\u73b0\u573a\u5b9e\u65f6\u6d4b\u63a7\u9886\u57df\uff0c\u5982\u679c\u6709\u5b9e\u65f6\u3001\u6297\u5e72\u6270\u6027\u3001\u5b89\u5168\u6027\u7b49\u8981\u6c42\uff0c\u90fd\u53ef\u4ee5\u91c7\u7528 UDP \u4f20\u8f93\u6570\u636e\u3002\u6211\u60f3\u8fd9\u4e5f\u662f DJI Ryze Tello \u4e3a\u4f55\u4f7f\u7528 UDP \u534f\u8bae\u901a\u4fe1\u7684\u539f\u56e0\u3002 C# \u8c03\u7528 UDP Client \u5728 System.Net.Sockets \u4e0b\u4f60\u53ef\u4ee5\u901a\u8fc7\u7c7b UdpClient \u6765\u5b8c\u6210 UDP [&hellip;]"}