一.OpenHarmony网络应用开发——UDP客户端

1.UDP协议相关API介绍

socket.h接口简介:

这个socket.h中包含声明UDP协议相关接口函数。

接口名

功能描述

socket

创建套接字

sendto

将数据指定的socket发送对方手机

recvfrom

从指定主机接收UDP数据

close

关闭套接字

2.UDP客户端创建流程介绍

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端

3.实现UDP客户端

打开"D3_iot_udp_client” 工程的udp_client_demo.c文件,可在代码中查看实现UDP客户端的代码

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_服务端_02

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端_03

二.OpenHarmony网络应用开发——TCP服务端

1.TCP协议相关API介绍

socket.h接口简介:

这个socket.h中包含声明TCP协议相关接口函数。

接口名

功能描述

socket

创建套接字

sendto

将数据指定的socket发送对方手机

recvfrom

从指定主机接收UDP数据

close

关闭套接字

2.TCP服务端创建流程介绍

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_套接字_04

3.实现TCP服务端

打开"D4_iot_tcp_server" 工程的tcp_server_demo.c文件,可以查看实现

TCP服务的代码。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_服务端_05

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_套接字_06

三.OpenHarmony网络应用开发——TCP客户端

1.TCP协议相关API介绍

socket.h接口简介:

这个socket.h中包含声明TCP协议相关接口函数。

接口名

功能描述

socket

创建套接字

connect

连接到指定的主机

send

发送数据

recv

接受数据

close

关闭套接字

2.TCP客户端创建流程介绍

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_套接字_07

3.实现TCP客户端

打开"D3_iot_udp_client" 工程的udp_client_demo.c文件,修改部分代码即

可实现TCP客户端。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_服务端_08

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_服务端_09

四.OpenHarmony网络应用开发UDP服务端

1.UDP协议相关API介绍

socket.h接口简介:

这个socket.h中包含声明UDP协议相关接口函数。

接口名

功能描述

socket

创建套接字

bind

将ip和端口绑定到嵌套字

sendto

将数据由指定的socket发送对方主机

recvfrom

从指定主机接收UDP数据

close

关闭套接字

2.UDP服务端创建流程介绍

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端_10

3.实现UDP服务端

打开"D4_iot_tcp_server"工程的tcp_server_demo.c文件,修改部分代码即可实现UDP服务端。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_套接字_11

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端_12

五.OpenHarmony网络应用开发——MQTT客户端

1.MQTT介绍

MQTT (Message Queuing Telemetry Transport, 消息队列遥测传输协议),是- -种基于发布/订阅 (publish/ subscribe)模式的轻量级’通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。

Paho是IBM在201 1年建立的Eclipse开源项目,该项目包含以C、Java、 Python、 Javascript等语 言编写的可用客户端。

嵌入式C语言客户端开源地址:​​https://github.com/eclipse/paho.matt.embedded-c​

2.Paho MQTT文件目录介绍

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端_13

●MQTTClient: 封装MQTTPacket生成的高级别C++客户端程序。

●MQTTClient-C: 封装MQTTPacket生成的高级别C客户端程序

samples 目录提供FreeRTOS和1 inux两个例程,分别支持FreeRTOS和Linux系统。

Src目录提供MQTTClient的代码实现能力,以及用于移植到对应平台的网络驱动

●MQTTPacket: 提供MQTT数据包的序列化与反序列化,以及部分辅助

函数。

3.如何使用Paho MQTT

在MQTTClient.h中包含声明Paho MQTT相关接口函数。

接口名

功能描述

MQTTClientInit

创建一个客户端对象

MQTTConnect

发送MQTT连接数据包

MQTTConnectWithResults

发送MQTT连接数据包并等待返回

MQTTPublish

发送MQTT发布数据包

MQTTSetMessageHandler

发送每个topic消息处理函数

MQTTSubscribe

发送MQTT订阅数据包

MQTTSubscribeWithResults

发送MQTT订阅数据包并等待返回结果

MQTTUnsubscribe

发送MQTT取消数据包

MQTTDisconnect

发送MQTT断开连接数据包并关闭连接

4.实现MQTT客户端

打开"D5_iot_mqtt"工程的iot_mqtt.c文件,查看实现MQTT客户端的代码。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_客户端_14

梅科尔工作室-华为14天鸿蒙设备开发实战笔记七_服务端_15

5.实现MQTT客户端

MQTT消息代理软件mosquitto下载地址: ​​https://mosquitto.org/download/​

Eclipse桌面客户端程序下载地址: ​​https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.1.1/​