W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


3.7.1 UDP服务端/客户端

<p>这节讲述如何创建一个UDP服务端</p> <p>仍然使用demo示例的固件</p> <p>首先要确保<code>wm_demo.h</code>的宏定义DEMO_UDP已经打开,如下所示:</p> <pre><code class="language-c">#define DEMO_CONSOLE DEMO_ON #define DEMO_UDP (DEMO_ON &amp;&amp; DEMO_CONSOLE)</code></pre> <p>固件运行后,首先通过串口发送命令:<strong>t-connect(&quot;ssid&quot;,&quot;password&quot;)</strong>,连接上你的路由器热点,连接上以后发送命令:<strong>t-udp(0, 1234, &quot;192.168.1.7&quot;)</strong>,创建一个UDP服务端。</p> <p>其中,<strong>t-udp</strong>命令的参数:</p> <ol> <li>第一个表示数据发送方式,0是广播;1是单播</li> <li>第二个表示作为客户端连接的服务端的端口</li> <li>第三个参数表示设备当前的ip地址</li> </ol> <p>执行<code>t-udp()</code>命令后,w800创建了一个服务端,输出串口信息如下所示:</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=dda60ebee83ea87dd391f5b134cf211c&amp;file=file.png" alt="" /></p> <p>输出的<em>local ip</em>是当前设备的ip,即参数中设置的ip,<em>local port</em>是当前创建的UDP服务的本地端口。</p> <p>我们可以使用任意一款网络调试工具来测试w800的udp功能,这里我们使用sscom来测试。如下图所示:</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b899eeb708534811c62cf3d5c62951e7&amp;file=file.png" alt="" /></p> <p>在“远程”一栏填入w800的ip地址,这表示sscom作为udp客户端连接的服务端ip对应的后面一栏填入3000,是服务端的端口号,也就是上面w800串口输出的<em>local port</em>;“本地”一栏的ip填入是sscom所在电脑的ip地址,一般自动填写,后面一栏填入sscom作为服务端的端口号,我们随便写入一个1234作为服务端口号(范围0~65535)。点击“连接”按钮即可在sscom创建服务端。在下面发送内容输入框输入“test”点击“发送”按钮,即可向“192.168.1.7:3000”这个地址发送udp数据,也可以填ip地址为“192.168.1.255”,这样就是发送一个udp广播,w800上创建的UDP服务端都能接收到,下面截图显示了w800收到的UDP数据:</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=800bc75b2d4dc92739336e777bdc9c27&amp;file=file.png" alt="" /></p> <p>在w800一端,我们通过串口工具发送命令:<code>t-sndudp(3)</code>,可以向sscom的udp服务端发送数据。<code>t-sndudp(3)</code>的参数表示发送的字符数量,所发送的字符都是“u”,下面截图是sscom作为服务端收到的w800发来的UDP数据:</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=dc96420346f1e6ec60f1ece6e5593339&amp;file=file.png" alt="" /></p> <p><code>socket_udp_demo</code>的实现代码位于<code>wm_udp_demo.c</code>文件中。参考该代码可以实现自己的UDP客户端/服务端</p>

页面列表

ITEM_HTML