From ae5e6a11191a019c61d5e11d2b9e399fd94095df Mon Sep 17 00:00:00 2001 From: liuxiyao223 Date: Wed, 8 Nov 2023 16:22:01 +0800 Subject: [PATCH 01/17] add websocket client ndk api Signed-off-by: liuxiyao223 --- .../websocketclient/native_websocket_api.h | 137 ++++++++++++++ .../websocketclient/native_websocket_type.h | 177 ++++++++++++++++++ 2 files changed, 314 insertions(+) create mode 100755 zh-cn/native_sdk/websocketclient/native_websocket_api.h create mode 100755 zh-cn/native_sdk/websocketclient/native_websocket_type.h diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h new file mode 100755 index 00000000..7a50001a --- /dev/null +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NATIVE_WEBSOCKET_API_H +#define NATIVE_WEBSOCKET_API_H + +#include +#include +#include + +/** + * @addtogroup netstack + * @{ + * + * @brief 为websocket客户端模块提供C接口 + * + * @since 11 + * @version 1.0 + */ + +/** + * @file native_websocket_api.h + * + * @brief 为websocket客户端模块定义C接口 + * + * @syscap SystemCapability.Communication.Netstack + * @since 11 + * @version 1.0 + */ + +#include "native_websocket_type.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief OH_NetStack_WebsocketClient客户端的构造函数 + * @param onMessage 客户端定义的接收消息的回调函数 + * @param onClose 客户端定义的关闭消息的回调函数 + * @param onError 客户端定义的错误消息的回调函数 + * @param onOpen 客户端定义的建立连接消息的回调函数 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient *OH_NetStack_WebsocketClient_Construct( + OH_NetStack_WebsocketClient_OnOpenCallback OnOpen, OH_NetStack_WebsocketClient_OnMessageCallback onMessage, + OH_NetStack_WebsocketClient_OnErrorCallback OnError, OH_NetStack_WebsocketClient_OnCloseCallback onclose); + +/** + * @brief 将header头信息添加到client客户端request中 + * + * @param client 客户端指针 + * @param header header头信息 + * @return 0 - 成功. + * @return 1001 - 客户端client为空 + * @since 11 + * @version 1.0 + */ +int OH_NetStack_WebSocketClient_AddHeader(struct OH_NetStack_WebsocketClient *client, + struct OH_NetStack_WebsocketClient_Slist header); + +/** + * @brief 客户端连接服务端 + * + * @param client 客户端指针 + * @param url 客户端要连接到服务端的地址 + * @param options 发起连接的可选参数 + * @return 0 - 成功. + * @return 1001 - 客户端client为空 + * @return 1004 - 参数解析错误. + * @return 1005 - 创建连接上下文时候内存不够. + * @return 1006 - 连接错误. + * @return 1016 - Head长度超过8k. + * @since 11 + * @version 1.0 + */ +int OH_NetStack_WebSocketClient_Connet(struct OH_NetStack_WebsocketClient *client, const char *url, + struct OH_NetStack_WebsocketClient_RequestOptions options); + +/** + * @brief 客户端向服务端发送数据 + * + * @param client 客户端 + * @param data 客户端发送的数据 + * @param length 客户端发送的数据长度 + * @return 0 - 成功. + * @return 1001 - 客户端client为空 + * @return 1011 - data为空. + * @return 1012 - 长度超过限制. + * @since 11 + * @version 1.0 + */ +int OH_NetStack_WebSocketClient_Send(struct OH_NetStack_WebsocketClient *client, char *data, size_t length); + +/** + * @brief 客户端主动关闭websocket连接 + * + * @param client 客户端 + * @param url 客户端要连接到服务端的地址 + * @param options 发起关闭连接的可选参数 + * @return 0 - 成功. + * @return 1001 - 客户端client为空 + * @since 11 + * @version 1.0 + */ +int OH_NetStack_WebSocketClient_Close(struct OH_NetStack_WebsocketClient *client, + struct OH_NetStack_WebsocketClient_CloseOption options); + +/** + * @brief 释放websocket连接上下文和资源 + * @param client 客户端 + * @return 0 - 成功. + * @return 1001 - 客户端client为空 + * @return 1016 - 连接上下文为空. + * @since 11 + * @version 1.0 + */ +int OH_NetStack_WebsocketClient_Destroy(struct OH_NetStack_WebsocketClient *client); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_WEBSOCKET_API_H diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h new file mode 100755 index 00000000..8986203b --- /dev/null +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NATIVE_WEBSOCKET_TYPE_H +#define NATIVE_WEBSOCKET_TYPE_H + +/** + * @addtogroup netstack + * @{ + * + * @brief 为websocket客户端模块的C接口提供数据结构 + * + * @since 11 + * @version 1.0 + */ + +/** + * @file native_websocket_type.h + * @brief 定义websocket客户端模块的C接口需要的数据结构 + * + * @syscap SystemCapability.Communication.Netstack + * @since 11 + * @version 1.0 + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief websocket客户端来自服务端关闭的参数 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_CloseResult { + /** 关闭的错误码 */ + uint32_t code; + /** 关闭的错误原因 */ + const char *reason; +}; + +/** + * @brief websocket客户端主动关闭的参数 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_CloseOption { + /** 关闭的错误码 */ + uint32_t code; + /** 关闭的错误原因 */ + const char *reason; +}; + +/** + * @brief websocket客户端来自服务端连接错误的参数 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_ErrorResult { + /** 错误码 */ + uint32_t errorCode; + /** 错误的消息 */ + const char *errorMessage; +}; + +/** + * @brief websocket客户端来自服务端连接成功的参数 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_OpenResult { + /** websocket客户端连接成功码 */ + uint32_t code; + /** websocket客户端连接原因 */ + const char *reason; +}; + +/** + * @brief websocket客户端接收open消息的回调函数原型 + * @param client websocket客户端 + * @param openResult websocket客户端接收建立连接消息的内容 + * @since 11 + * @version 1.0 + */ +typedef void (*OH_NetStack_WebsocketClient_OnOpenCallback)(struct OH_NetStack_WebsocketClient *client, + OH_NetStack_WebsocketClient_OpenResult openResult); + +/** + * @brief websocket客户端接收数据的回调函数原型 + * @param client websocket客户端 + * @param data websocket客户端接收的数据 + * @param length websocket客户端接收的数据长度 + * @since 11 + * @version 1.0 + */ +typedef void (*OH_NetStack_WebsocketClient_OnMessageCallback)(struct OH_NetStack_WebsocketClient *client, char *data, + uint32_t length); + +/** + * @brief websocket客户端接收error错误消息的回调函数原型 + * @param client websocket客户端 + * @param errorResult websocket客户端接收连接错误消息的内容 + * @since 11 + * @version 1.0 + */ +typedef void (*OH_NetStack_WebsocketClient_OnErrorCallback)(struct OH_NetStack_WebsocketClient *client, + OH_NetStack_WebsocketClient_ErrorResult errorResult); + +/** + * @brief websocket客户端接收close消息的回调函数原型 + * @param client websocket客户端 + * @param closeResult websocket客户端接收关闭消息的内容 + * @since 11 + * @version 1.0 + */ +typedef void (*OH_NetStack_WebsocketClient_OnCloseCallback)(struct OH_NetStack_WebsocketClient *client, + OH_NetStack_WebsocketClient_CloseResult closeResult); + +/** + * @brief websocket客户端增加header头的链表节点 + * @param FieldName header头的字段名 + * @param FieldValue header头的字段内容 + * @param next header头链表的next指针 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_Slist { + const char *FieldName; + const char *FieldValue; + struct OH_NetStack_WebsocketClient_Slist *next; +}; + +/** + *@brief websocket客户端和服务端建立连接的参数 + * @param headers header头信息 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient_RequestOptions { + struct OH_NetStack_WebsocketClient_Slist *headers; +}; + +/** + * @brief websocket客户端结构体 + * @param onOpen 客户端接收打开消息的回调指针 + * @param onMessage 客户端接收消息的回调指针 + * @param onError 客户端接收错误消息的回调指针 + * @param onClose 客户端接收关闭消息的回调指针 + * @param RequestOptions 客户端建立连接请求内容 + * @since 11 + * @version 1.0 + */ +struct OH_NetStack_WebsocketClient { + OH_NetStack_WebsocketClient_OnOpenCallback onOpen; + OH_NetStack_WebsocketClient_OnMessageCallback onMessage; + OH_NetStack_WebsocketClient_OnErrorCallback onError; + OH_NetStack_WebsocketClient_OnCloseCallback onClose; + OH_NetStack_WebsocketClient_RequestOptions RequestOptions; +}; + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_WEBSOCKET_API_H -- Gitee From a31a3ae5e5ed9c523994190648e515743f723a3b Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 05:48:30 +0000 Subject: [PATCH 02/17] update zh-cn/native_sdk/websocketclient/native_websocket_api.h. Signed-off-by: Aurora --- .../websocketclient/native_websocket_api.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h index 7a50001a..2b07b044 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_api.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -34,7 +34,7 @@ * @file native_websocket_api.h * * @brief 为websocket客户端模块定义C接口 - * + * @library 引用头文件native_websocket_api.h,native_websocket_adapter_api.h,需要链接libwebsocket_client.z.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 @@ -52,6 +52,8 @@ extern "C" { * @param onClose 客户端定义的关闭消息的回调函数 * @param onError 客户端定义的错误消息的回调函数 * @param onOpen 客户端定义的建立连接消息的回调函数 + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ @@ -61,11 +63,12 @@ struct OH_NetStack_WebsocketClient *OH_NetStack_WebsocketClient_Construct( /** * @brief 将header头信息添加到client客户端request中 - * * @param client 客户端指针 * @param header header头信息 * @return 0 - 成功. * @return 1001 - 客户端client为空 + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ @@ -74,7 +77,6 @@ int OH_NetStack_WebSocketClient_AddHeader(struct OH_NetStack_WebsocketClient *cl /** * @brief 客户端连接服务端 - * * @param client 客户端指针 * @param url 客户端要连接到服务端的地址 * @param options 发起连接的可选参数 @@ -84,6 +86,8 @@ int OH_NetStack_WebSocketClient_AddHeader(struct OH_NetStack_WebsocketClient *cl * @return 1005 - 创建连接上下文时候内存不够. * @return 1006 - 连接错误. * @return 1016 - Head长度超过8k. + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ @@ -92,7 +96,6 @@ int OH_NetStack_WebSocketClient_Connet(struct OH_NetStack_WebsocketClient *clien /** * @brief 客户端向服务端发送数据 - * * @param client 客户端 * @param data 客户端发送的数据 * @param length 客户端发送的数据长度 @@ -100,6 +103,8 @@ int OH_NetStack_WebSocketClient_Connet(struct OH_NetStack_WebsocketClient *clien * @return 1001 - 客户端client为空 * @return 1011 - data为空. * @return 1012 - 长度超过限制. + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ @@ -107,12 +112,13 @@ int OH_NetStack_WebSocketClient_Send(struct OH_NetStack_WebsocketClient *client, /** * @brief 客户端主动关闭websocket连接 - * * @param client 客户端 * @param url 客户端要连接到服务端的地址 * @param options 发起关闭连接的可选参数 * @return 0 - 成功. * @return 1001 - 客户端client为空 + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ @@ -125,6 +131,8 @@ int OH_NetStack_WebSocketClient_Close(struct OH_NetStack_WebsocketClient *client * @return 0 - 成功. * @return 1001 - 客户端client为空 * @return 1016 - 连接上下文为空. + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetStack * @since 11 * @version 1.0 */ -- Gitee From 6408ff9adae47e653a95dcb810f3447f94e5c9bf Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 05:49:24 +0000 Subject: [PATCH 03/17] update zh-cn/native_sdk/websocketclient/native_websocket_api.h. Signed-off-by: Aurora --- zh-cn/native_sdk/websocketclient/native_websocket_api.h | 1 - 1 file changed, 1 deletion(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h index 2b07b044..70bff4e2 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_api.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -25,7 +25,6 @@ * @{ * * @brief 为websocket客户端模块提供C接口 - * * @since 11 * @version 1.0 */ -- Gitee From 6aa9be8799bacbfd5db1d683502141ee7036c45d Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 05:51:20 +0000 Subject: [PATCH 04/17] update zh-cn/native_sdk/websocketclient/native_websocket_type.h. Signed-off-by: Aurora --- zh-cn/native_sdk/websocketclient/native_websocket_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h index 8986203b..6a53e9e2 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_type.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -29,7 +29,7 @@ /** * @file native_websocket_type.h * @brief 定义websocket客户端模块的C接口需要的数据结构 - * + * @library 引用头文件native_websocket_api.h,native_websocket_adapter_api.h,需要链接libwebsocket_client.z.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 -- Gitee From a0c8e02d1c1b2cce85151b6ae3adaf0f8d718477 Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 06:05:20 +0000 Subject: [PATCH 05/17] update zh-cn/native_sdk/websocketclient/native_websocket_api.h. Signed-off-by: Aurora --- zh-cn/native_sdk/websocketclient/native_websocket_api.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h index 70bff4e2..f03c2bf0 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_api.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -33,7 +33,8 @@ * @file native_websocket_api.h * * @brief 为websocket客户端模块定义C接口 - * @library 引用头文件native_websocket_api.h,native_websocket_adapter_api.h,需要链接libwebsocket_client.z.so + * + * @library libwebsocketclient_ndk.z.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 @@ -47,6 +48,7 @@ extern "C" { /** * @brief OH_NetStack_WebsocketClient客户端的构造函数 + * * @param onMessage 客户端定义的接收消息的回调函数 * @param onClose 客户端定义的关闭消息的回调函数 * @param onError 客户端定义的错误消息的回调函数 @@ -62,6 +64,7 @@ struct OH_NetStack_WebsocketClient *OH_NetStack_WebsocketClient_Construct( /** * @brief 将header头信息添加到client客户端request中 + * * @param client 客户端指针 * @param header header头信息 * @return 0 - 成功. @@ -76,6 +79,7 @@ int OH_NetStack_WebSocketClient_AddHeader(struct OH_NetStack_WebsocketClient *cl /** * @brief 客户端连接服务端 + * * @param client 客户端指针 * @param url 客户端要连接到服务端的地址 * @param options 发起连接的可选参数 @@ -95,6 +99,7 @@ int OH_NetStack_WebSocketClient_Connet(struct OH_NetStack_WebsocketClient *clien /** * @brief 客户端向服务端发送数据 + * * @param client 客户端 * @param data 客户端发送的数据 * @param length 客户端发送的数据长度 @@ -111,6 +116,7 @@ int OH_NetStack_WebSocketClient_Send(struct OH_NetStack_WebsocketClient *client, /** * @brief 客户端主动关闭websocket连接 + * * @param client 客户端 * @param url 客户端要连接到服务端的地址 * @param options 发起关闭连接的可选参数 @@ -126,6 +132,7 @@ int OH_NetStack_WebSocketClient_Close(struct OH_NetStack_WebsocketClient *client /** * @brief 释放websocket连接上下文和资源 + * * @param client 客户端 * @return 0 - 成功. * @return 1001 - 客户端client为空 -- Gitee From a6e121a102c1c3b175fd53d91e279bd943b2e7c4 Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 06:27:53 +0000 Subject: [PATCH 06/17] update zh-cn/native_sdk/websocketclient/native_websocket_api.h. Signed-off-by: Aurora --- zh-cn/native_sdk/websocketclient/native_websocket_api.h | 1 + 1 file changed, 1 insertion(+) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h index f03c2bf0..060dd967 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_api.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -25,6 +25,7 @@ * @{ * * @brief 为websocket客户端模块提供C接口 + * @since 11 * @version 1.0 */ -- Gitee From 2bf41c976c6b5ac313aa4b6ac6dd59cf259b5507 Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 06:30:34 +0000 Subject: [PATCH 07/17] update zh-cn/native_sdk/websocketclient/native_websocket_type.h. Signed-off-by: Aurora --- .../websocketclient/native_websocket_type.h | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h index 6a53e9e2..4bbcf274 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_type.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -28,8 +28,10 @@ /** * @file native_websocket_type.h + * * @brief 定义websocket客户端模块的C接口需要的数据结构 - * @library 引用头文件native_websocket_api.h,native_websocket_adapter_api.h,需要链接libwebsocket_client.z.so + * + * @library libwebsocketclient_ndk.z.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 @@ -41,6 +43,7 @@ extern "C" { /** * @brief websocket客户端来自服务端关闭的参数 + * @since 11 * @version 1.0 */ @@ -53,6 +56,7 @@ struct OH_NetStack_WebsocketClient_CloseResult { /** * @brief websocket客户端主动关闭的参数 + * * @since 11 * @version 1.0 */ @@ -65,6 +69,7 @@ struct OH_NetStack_WebsocketClient_CloseOption { /** * @brief websocket客户端来自服务端连接错误的参数 + * * @since 11 * @version 1.0 */ @@ -77,6 +82,7 @@ struct OH_NetStack_WebsocketClient_ErrorResult { /** * @brief websocket客户端来自服务端连接成功的参数 + * * @since 11 * @version 1.0 */ @@ -89,6 +95,7 @@ struct OH_NetStack_WebsocketClient_OpenResult { /** * @brief websocket客户端接收open消息的回调函数原型 + * * @param client websocket客户端 * @param openResult websocket客户端接收建立连接消息的内容 * @since 11 @@ -99,6 +106,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnOpenCallback)(struct OH_NetStack_We /** * @brief websocket客户端接收数据的回调函数原型 + * * @param client websocket客户端 * @param data websocket客户端接收的数据 * @param length websocket客户端接收的数据长度 @@ -110,6 +118,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnMessageCallback)(struct OH_NetStack /** * @brief websocket客户端接收error错误消息的回调函数原型 + * * @param client websocket客户端 * @param errorResult websocket客户端接收连接错误消息的内容 * @since 11 @@ -120,6 +129,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnErrorCallback)(struct OH_NetStack_W /** * @brief websocket客户端接收close消息的回调函数原型 + * * @param client websocket客户端 * @param closeResult websocket客户端接收关闭消息的内容 * @since 11 @@ -130,6 +140,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnCloseCallback)(struct OH_NetStack_W /** * @brief websocket客户端增加header头的链表节点 + * * @param FieldName header头的字段名 * @param FieldValue header头的字段内容 * @param next header头链表的next指针 @@ -143,7 +154,8 @@ struct OH_NetStack_WebsocketClient_Slist { }; /** - *@brief websocket客户端和服务端建立连接的参数 + * @brief websocket客户端和服务端建立连接的参数 + * * @param headers header头信息 * @since 11 * @version 1.0 @@ -154,6 +166,7 @@ struct OH_NetStack_WebsocketClient_RequestOptions { /** * @brief websocket客户端结构体 + * * @param onOpen 客户端接收打开消息的回调指针 * @param onMessage 客户端接收消息的回调指针 * @param onError 客户端接收错误消息的回调指针 -- Gitee From 046b7b4d6964317f10e7e37397d7a6960628bbfb Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 06:38:43 +0000 Subject: [PATCH 08/17] update zh-cn/native_sdk/websocketclient/native_websocket_type.h. Signed-off-by: Aurora --- .../websocketclient/native_websocket_type.h | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h index 4bbcf274..ff2d6859 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_type.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -94,7 +94,7 @@ struct OH_NetStack_WebsocketClient_OpenResult { }; /** - * @brief websocket客户端接收open消息的回调函数原型 + * @brief websocket客户端接收open消息的回调函数定义 * * @param client websocket客户端 * @param openResult websocket客户端接收建立连接消息的内容 @@ -105,7 +105,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnOpenCallback)(struct OH_NetStack_We OH_NetStack_WebsocketClient_OpenResult openResult); /** - * @brief websocket客户端接收数据的回调函数原型 + * @brief websocket客户端接收数据的回调函数定义 * * @param client websocket客户端 * @param data websocket客户端接收的数据 @@ -117,7 +117,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnMessageCallback)(struct OH_NetStack uint32_t length); /** - * @brief websocket客户端接收error错误消息的回调函数原型 + * @brief websocket客户端接收error错误消息的回调函数定义 * * @param client websocket客户端 * @param errorResult websocket客户端接收连接错误消息的内容 @@ -128,7 +128,7 @@ typedef void (*OH_NetStack_WebsocketClient_OnErrorCallback)(struct OH_NetStack_W OH_NetStack_WebsocketClient_ErrorResult errorResult); /** - * @brief websocket客户端接收close消息的回调函数原型 + * @brief websocket客户端接收close消息的回调函数定义 * * @param client websocket客户端 * @param closeResult websocket客户端接收关闭消息的内容 @@ -141,15 +141,15 @@ typedef void (*OH_NetStack_WebsocketClient_OnCloseCallback)(struct OH_NetStack_W /** * @brief websocket客户端增加header头的链表节点 * - * @param FieldName header头的字段名 - * @param FieldValue header头的字段内容 - * @param next header头链表的next指针 * @since 11 * @version 1.0 */ struct OH_NetStack_WebsocketClient_Slist { + /** header头的字段名 */ const char *FieldName; + /**header头的字段内容 */ const char *FieldValue; + /** header头链表的next指针 */ struct OH_NetStack_WebsocketClient_Slist *next; }; @@ -167,19 +167,19 @@ struct OH_NetStack_WebsocketClient_RequestOptions { /** * @brief websocket客户端结构体 * - * @param onOpen 客户端接收打开消息的回调指针 - * @param onMessage 客户端接收消息的回调指针 - * @param onError 客户端接收错误消息的回调指针 - * @param onClose 客户端接收关闭消息的回调指针 - * @param RequestOptions 客户端建立连接请求内容 * @since 11 * @version 1.0 */ struct OH_NetStack_WebsocketClient { + /** 客户端接收连接消息的回调指针 */ OH_NetStack_WebsocketClient_OnOpenCallback onOpen; + /**客户端接收消息的回调指针 */ OH_NetStack_WebsocketClient_OnMessageCallback onMessage; + /** 客户端接收错误消息的回调指针 */ OH_NetStack_WebsocketClient_OnErrorCallback onError; + /** 客户端接收关闭消息的回调指针 */ OH_NetStack_WebsocketClient_OnCloseCallback onClose; + /** 客户端建立连接请求内容 */ OH_NetStack_WebsocketClient_RequestOptions RequestOptions; }; -- Gitee From 7108a52d2419b85c88ca7c7e8c6e1b0db9bf814a Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 07:09:37 +0000 Subject: [PATCH 09/17] update zh-cn/native_sdk/websocketclient/native_websocket_api.h. Signed-off-by: Aurora --- .../websocketclient/native_websocket_api.h | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/websocketclient/native_websocket_api.h index 060dd967..de583a3f 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_api.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_api.h @@ -54,6 +54,7 @@ extern "C" { * @param onClose 客户端定义的关闭消息的回调函数 * @param onError 客户端定义的错误消息的回调函数 * @param onOpen 客户端定义的建立连接消息的回调函数 + * @return 成功返回客户端指针,失败返回为NULL * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 @@ -68,8 +69,7 @@ struct OH_NetStack_WebsocketClient *OH_NetStack_WebsocketClient_Construct( * * @param client 客户端指针 * @param header header头信息 - * @return 0 - 成功. - * @return 1001 - 客户端client为空 + * @return 返回值为0表示执行成功。返回错细信息可以查看{@link OH_Websocket_ErrCode}。 * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 @@ -84,12 +84,7 @@ int OH_NetStack_WebSocketClient_AddHeader(struct OH_NetStack_WebsocketClient *cl * @param client 客户端指针 * @param url 客户端要连接到服务端的地址 * @param options 发起连接的可选参数 - * @return 0 - 成功. - * @return 1001 - 客户端client为空 - * @return 1004 - 参数解析错误. - * @return 1005 - 创建连接上下文时候内存不够. - * @return 1006 - 连接错误. - * @return 1016 - Head长度超过8k. + * @return 返回值为0表示执行成功。返回错细信息可以查看{@link OH_Websocket_ErrCode}。 * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 @@ -105,9 +100,7 @@ int OH_NetStack_WebSocketClient_Connet(struct OH_NetStack_WebsocketClient *clien * @param data 客户端发送的数据 * @param length 客户端发送的数据长度 * @return 0 - 成功. - * @return 1001 - 客户端client为空 - * @return 1011 - data为空. - * @return 1012 - 长度超过限制. + * @return 返回值为0表示执行成功。返回错细信息可以查看{@link OH_Websocket_ErrCode}。 * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 @@ -121,8 +114,7 @@ int OH_NetStack_WebSocketClient_Send(struct OH_NetStack_WebsocketClient *client, * @param client 客户端 * @param url 客户端要连接到服务端的地址 * @param options 发起关闭连接的可选参数 - * @return 0 - 成功. - * @return 1001 - 客户端client为空 + * @return 返回值为0表示执行成功。返回错细信息可以查看{@link OH_Websocket_ErrCode}。 * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 @@ -135,9 +127,7 @@ int OH_NetStack_WebSocketClient_Close(struct OH_NetStack_WebsocketClient *client * @brief 释放websocket连接上下文和资源 * * @param client 客户端 - * @return 0 - 成功. - * @return 1001 - 客户端client为空 - * @return 1016 - 连接上下文为空. + * @return 返回值为0表示执行成功。返回错细信息可以查看{@link OH_Websocket_ErrCode}。 * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetStack * @since 11 -- Gitee From 3869991eb271c449e274b35f03359a4ea3bf4e1f Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 07:36:05 +0000 Subject: [PATCH 10/17] update zh-cn/native_sdk/websocketclient/native_websocket_type.h. Signed-off-by: Aurora --- .../websocketclient/native_websocket_type.h | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h index ff2d6859..e9ed9f85 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_type.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -183,6 +183,104 @@ struct OH_NetStack_WebsocketClient { OH_NetStack_WebsocketClient_RequestOptions RequestOptions; }; +typedef enum OH_Websocket_ErrCode { + /** + * 执行成功 + */ + Websocket_OK = 0, + + /** + * @brief 异常错误代码的基础 + */ + E_BASE = 1000, + + /** + * @brief websocket为空 + */ + WEBSOCKET_CLIENT_IS_NULL = (E_BASE + 1), + + /** + * @brief websocket未创建 + */ + WEBSOCKET_CLIENT_IS_NOT_CREAT = (E_BASE + 2), + + /** + * @brief websocket客户端连接错误 + */ + WEBSOCKET_CONNECTION_ERROR = (E_BASE + 3), + + /** + * @brief websocket客户端连接参数解析错误 + */ + WEBSOCKET_CONNECTION_PARSEURL_ERROR = (E_BASE + 5), + + /** + * @brief websocket客户端连接时创建上下文无内存 + */ + WEBSOCKET_CONNECTION_NO_MEMOERY = (E_BASE + 6), + + /** + * @brief 初始化时候关闭 + */ + WEBSOCKET_PEER_INITIATED_CLOSE = (E_BASE + 7), + + /** + * @brief websocket连接被销毁 + */ + WEBSOCKET_DESTROY = (E_BASE + 8), + + /** + * @brief websocket客户端连接时候协议错误 + */ + WEBSOCKET_PROTOCOL_ERROR = (E_BASE + 9), + + /** + * @brief websocket客户端发送数据时候没有足够内存 + */ + WEBSOCKET_SEND_NO_MEMOERY_ERROR = (E_BASE + 10), + + /** + * @brief websocket客户端发送数据为空 + */ + WEBSOCKET_SEND_DATA_NULL = (E_BASE + 11), + + /** + * @brief websocket客户端发送数据长度超限制 + */ + WEBSOCKET_DATA_LENGTH_EXCEEDS = (E_BASE + 12), + + /** + * @brief websocket客户端发送数据队列长度超限制 + */ + WEBSOCKET_QUEUE_LENGTH_EXCEEDS = (E_BASE + 13), + + /** + * @brief websocket客户端上下文为空 + */ + WEBSOCKET_ERROR_NO_CLIENTCONTEX = (E_BASE + 14), + + /** + * @brief websocket客户端header头异常 + */ + WEBSOCKET_ERROR_NO_HEADR_CONTEXT = (E_BASE + 15), + + /** + * @brief websocket客户端header头超过限制 + */ + WEBSOCKET_ERROR_NO_HEADR_EXCEEDS = (E_BASE + 16), + + /** + * @brief websocket客户端没有连接 + */ + WEBSOCKET_ERROR_HAVE_NO_CONNECT = (E_BASE + 17), + + /** + * @brief websocket客户端没有连接上下文 + */ + WEBSOCKET_ERROR_HAVE_NO_CONNECT_CONTEXT = (E_BASE + 18), + +} OH_Websocket_ErrCode; + #ifdef __cplusplus } #endif -- Gitee From 0c824efc9414b0dcfc94c527abee9b1719061b39 Mon Sep 17 00:00:00 2001 From: Aurora Date: Fri, 10 Nov 2023 08:01:02 +0000 Subject: [PATCH 11/17] update zh-cn/native_sdk/websocketclient/native_websocket_type.h. Signed-off-by: Aurora --- zh-cn/native_sdk/websocketclient/native_websocket_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/websocketclient/native_websocket_type.h index e9ed9f85..92a40576 100755 --- a/zh-cn/native_sdk/websocketclient/native_websocket_type.h +++ b/zh-cn/native_sdk/websocketclient/native_websocket_type.h @@ -43,7 +43,7 @@ extern "C" { /** * @brief websocket客户端来自服务端关闭的参数 - + * * @since 11 * @version 1.0 */ -- Gitee From f632a964e89482ab84499d54853773dd925fd986 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 06:25:30 +0000 Subject: [PATCH 12/17] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20zh-cn/nativ?= =?UTF-8?q?e=5Fsdk/websocketclient=20=E4=B8=BA=20zh-cn/native=5Fsdk/net=5F?= =?UTF-8?q?websocket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{websocketclient => net_websocket}/native_websocket_api.h | 0 .../{websocketclient => net_websocket}/native_websocket_type.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename zh-cn/native_sdk/{websocketclient => net_websocket}/native_websocket_api.h (100%) rename zh-cn/native_sdk/{websocketclient => net_websocket}/native_websocket_type.h (100%) diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_api.h b/zh-cn/native_sdk/net_websocket/native_websocket_api.h similarity index 100% rename from zh-cn/native_sdk/websocketclient/native_websocket_api.h rename to zh-cn/native_sdk/net_websocket/native_websocket_api.h diff --git a/zh-cn/native_sdk/websocketclient/native_websocket_type.h b/zh-cn/native_sdk/net_websocket/native_websocket_type.h similarity index 100% rename from zh-cn/native_sdk/websocketclient/native_websocket_type.h rename to zh-cn/native_sdk/net_websocket/native_websocket_type.h -- Gitee From 33de706f0cb5a43fe95e67f6e7bc50d5551b9f4d Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 06:27:03 +0000 Subject: [PATCH 13/17] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20zh-cn/nativ?= =?UTF-8?q?e=5Fsdk/net=5Fwebsocket/native=5Fwebsocket=5Fapi.h=20=E4=B8=BA?= =?UTF-8?q?=20zh-cn/native=5Fsdk/net=5Fwebsocket/net=5Fwebsocket.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net_websocket/{native_websocket_api.h => net_websocket.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename zh-cn/native_sdk/net_websocket/{native_websocket_api.h => net_websocket.h} (100%) diff --git a/zh-cn/native_sdk/net_websocket/native_websocket_api.h b/zh-cn/native_sdk/net_websocket/net_websocket.h similarity index 100% rename from zh-cn/native_sdk/net_websocket/native_websocket_api.h rename to zh-cn/native_sdk/net_websocket/net_websocket.h -- Gitee From 98f5f9c9478a6200b310e8094e75c9a8639a8fe3 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 06:27:16 +0000 Subject: [PATCH 14/17] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20zh-cn/nativ?= =?UTF-8?q?e=5Fsdk/net=5Fwebsocket/native=5Fwebsocket=5Ftype.h=20=E4=B8=BA?= =?UTF-8?q?=20zh-cn/native=5Fsdk/net=5Fwebsocket/net=5Fwebsocket=5Ftype.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{native_websocket_type.h => net_websocket_type.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename zh-cn/native_sdk/net_websocket/{native_websocket_type.h => net_websocket_type.h} (100%) diff --git a/zh-cn/native_sdk/net_websocket/native_websocket_type.h b/zh-cn/native_sdk/net_websocket/net_websocket_type.h similarity index 100% rename from zh-cn/native_sdk/net_websocket/native_websocket_type.h rename to zh-cn/native_sdk/net_websocket/net_websocket_type.h -- Gitee From 548fc669e36555c3e91bc4eb59a82c98dc386bfe Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 06:30:29 +0000 Subject: [PATCH 15/17] update zh-cn/native_sdk/net_websocket/net_websocket.h. Signed-off-by: Aurora --- zh-cn/native_sdk/net_websocket/net_websocket.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zh-cn/native_sdk/net_websocket/net_websocket.h b/zh-cn/native_sdk/net_websocket/net_websocket.h index de583a3f..cf517447 100755 --- a/zh-cn/native_sdk/net_websocket/net_websocket.h +++ b/zh-cn/native_sdk/net_websocket/net_websocket.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef NATIVE_WEBSOCKET_API_H -#define NATIVE_WEBSOCKET_API_H +#ifndef NET_WEBSOCKET_H +#define NET_WEBSOCKET_H #include #include @@ -31,17 +31,17 @@ */ /** - * @file native_websocket_api.h + * @file net_websocket.h * * @brief 为websocket客户端模块定义C接口 * - * @library libwebsocketclient_ndk.z.so + * @library libnet_websocket.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 */ -#include "native_websocket_type.h" +#include "net_websocket_type.h" #ifdef __cplusplus extern "C" { @@ -139,4 +139,4 @@ int OH_NetStack_WebsocketClient_Destroy(struct OH_NetStack_WebsocketClient *clie } #endif -#endif // NATIVE_WEBSOCKET_API_H +#endif // NET_WEBSOCKET_H -- Gitee From ee66a55418f401a749875a52b6a16fe9bc263630 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 06:32:56 +0000 Subject: [PATCH 16/17] update zh-cn/native_sdk/net_websocket/net_websocket_type.h. Signed-off-by: Aurora --- zh-cn/native_sdk/net_websocket/net_websocket_type.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zh-cn/native_sdk/net_websocket/net_websocket_type.h b/zh-cn/native_sdk/net_websocket/net_websocket_type.h index 92a40576..9084554e 100755 --- a/zh-cn/native_sdk/net_websocket/net_websocket_type.h +++ b/zh-cn/native_sdk/net_websocket/net_websocket_type.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef NATIVE_WEBSOCKET_TYPE_H -#define NATIVE_WEBSOCKET_TYPE_H +#ifndef NET_WEBSOCKET_TYPE_H +#define NET_WEBSOCKET_TYPE_H /** * @addtogroup netstack @@ -27,11 +27,11 @@ */ /** - * @file native_websocket_type.h + * @file net_websocket_type.h * * @brief 定义websocket客户端模块的C接口需要的数据结构 * - * @library libwebsocketclient_ndk.z.so + * @library libnet_websocket.so * @syscap SystemCapability.Communication.Netstack * @since 11 * @version 1.0 @@ -285,4 +285,4 @@ typedef enum OH_Websocket_ErrCode { } #endif -#endif // NATIVE_WEBSOCKET_API_H +#endif // NET_WEBSOCKET_TYPE_H -- Gitee From c02e8330222f1163ebd013e7e2ea22f43b4ab8ec Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 13 Nov 2023 10:00:49 +0000 Subject: [PATCH 17/17] update zh-cn/native_sdk/net_websocket/net_websocket_type.h. Signed-off-by: Aurora --- zh-cn/native_sdk/net_websocket/net_websocket_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/native_sdk/net_websocket/net_websocket_type.h b/zh-cn/native_sdk/net_websocket/net_websocket_type.h index 9084554e..9768a054 100755 --- a/zh-cn/native_sdk/net_websocket/net_websocket_type.h +++ b/zh-cn/native_sdk/net_websocket/net_websocket_type.h @@ -20,7 +20,7 @@ * @addtogroup netstack * @{ * - * @brief 为websocket客户端模块的C接口提供数据结构 + * @brief 为websocket客户端模块提供C接口 * * @since 11 * @version 1.0 -- Gitee