1# net_websocket.h 2 3## 概述 4 5定义websocket客户端模块的接口。 6 7**引用文件:** <network/netstack/net_websocket.h> 8 9**库:** libnet_websocket.so 10 11**系统能力:** SystemCapability.Communication.NetStack 12 13**起始版本:** 11 14 15**相关模块:** [netstack](capi-netstack.md) 16 17## 汇总 18 19### 函数 20 21| 名称 | 描述 | 22| -- | -- | 23| [struct WebSocket *OH_WebSocketClient_Constructor(WebSocket_OnOpenCallback onOpen, WebSocket_OnMessageCallback onMessage,WebSocket_OnErrorCallback onError, WebSocket_OnCloseCallback onclose)](#oh_websocketclient_constructor) | websocket客户端的构造函数。 | 24| [int OH_WebSocketClient_AddHeader(struct WebSocket *client, struct WebSocket_Header header)](#oh_websocketclient_addheader) | 将header头信息添加到client客户端request中。 | 25| [int OH_WebSocketClient_Connect(struct WebSocket *client, const char *url, struct WebSocket_RequestOptions options)](#oh_websocketclient_connect) | 客户端连接服务端。 | 26| [int OH_WebSocketClient_Send(struct WebSocket *client, char *data, size_t length)](#oh_websocketclient_send) | 客户端向服务端发送数据。 | 27| [int OH_WebSocketClient_Close(struct WebSocket *client, struct WebSocket_CloseOption options)](#oh_websocketclient_close) | 客户端主动关闭webSocket连接。 | 28| [int OH_WebSocketClient_Destroy(struct WebSocket *client)](#oh_websocketclient_destroy) | 释放websocket连接上下文和资源。 | 29 30## 函数说明 31 32### OH_WebSocketClient_Constructor() 33 34``` 35struct WebSocket *OH_WebSocketClient_Constructor(WebSocket_OnOpenCallback onOpen, WebSocket_OnMessageCallback onMessage,WebSocket_OnErrorCallback onError, WebSocket_OnCloseCallback onclose) 36``` 37 38**描述** 39 40websocket客户端的构造函数。 41 42**系统能力:** SystemCapability.Communication.NetStack 43 44**起始版本:** 11 45 46 47**参数:** 48 49| 参数项 | 描述 | 50| -- | -- | 51| [WebSocket_OnOpenCallback](capi-net-websocket-type-h.md#websocket_onopencallback) onOpen | 客户端定义的建立连接消息的回调函数。 | 52| [WebSocket_OnMessageCallback](capi-net-websocket-type-h.md#websocket_onmessagecallback) onMessage | 客户端定义的接收消息的回调函数。 | 53| [WebSocket_OnErrorCallback](capi-net-websocket-type-h.md#websocket_onerrorcallback) onError | 客户端定义的错误消息的回调函数。 | 54| [WebSocket_OnCloseCallback](capi-net-websocket-type-h.md#websocket_onclosecallback) onclose | 客户端定义的关闭消息的回调函数。 | 55 56**返回:** 57 58| 类型 | 说明 | 59|------------------------| -- | 60| [struct WebSocket](capi-netstack-websocket.md) * | 成功返回客户端指针,失败返回为NULL。 | 61 62### OH_WebSocketClient_AddHeader() 63 64``` 65int OH_WebSocketClient_AddHeader(struct WebSocket *client, struct WebSocket_Header header) 66``` 67 68**描述** 69 70将header头信息添加到client客户端request中。 71 72**系统能力:** SystemCapability.Communication.NetStack 73 74**起始版本:** 11 75 76 77**参数:** 78 79| 参数项 | 描述 | 80| -- | -- | 81| [struct WebSocket](capi-netstack-websocket.md) *client | 客户端指针。 | 82| [struct WebSocket_Header](capi-netstack-websocket-header.md) header | Header头信息。 | 83 84**返回:** 85 86| 类型 | 说明 | 87| -- | -- | 88| int | 返回值为0表示执行成功,返回值不为0表示失败。返回值详细信息可以查看OH_Websocket_ErrCode。 | 89 90### OH_WebSocketClient_Connect() 91 92``` 93int OH_WebSocketClient_Connect(struct WebSocket *client, const char *url, struct WebSocket_RequestOptions options) 94``` 95 96**描述** 97 98客户端连接服务端。 99 100**系统能力:** SystemCapability.Communication.NetStack 101 102**需要权限:** ohos.permission.INTERNET 103 104**起始版本:** 11 105 106 107**参数:** 108 109| 参数项 | 描述 | 110| -- | -- | 111| [struct WebSocket](capi-netstack-websocket.md) *client | 客户端指针。 | 112| const char *url | 客户端要连接到服务端的地址。 | 113| [struct WebSocket_RequestOptions](capi-netstack-websocket-requestoptions.md) options | 发起连接的可选参数。 | 114 115**返回:** 116 117| 类型 | 说明 | 118| -- | -- | 119| int | 返回值为0表示执行成功,返回值不为0表示失败。返回值详细信息可以查看OH_Websocket_ErrCode。 | 120 121### OH_WebSocketClient_Send() 122 123``` 124int OH_WebSocketClient_Send(struct WebSocket *client, char *data, size_t length) 125``` 126 127**描述** 128 129客户端向服务端发送数据。 130 131**系统能力:** SystemCapability.Communication.NetStack 132 133**需要权限:** ohos.permission.INTERNET 134 135**起始版本:** 11 136 137 138**参数:** 139 140| 参数项 | 描述 | 141| -- | -- | 142| [struct WebSocket](capi-netstack-websocket.md) *client | 客户端。 | 143| char *data | 客户端发送的数据。 | 144| size_t length | 客户端发送的数据长度。 | 145 146**返回:** 147 148| 类型 | 说明 | 149| -- | -- | 150| int | 返回值为0表示执行成功,返回值不为0表示失败。返回值详细信息可以查看OH_Websocket_ErrCode。 | 151 152### OH_WebSocketClient_Close() 153 154``` 155int OH_WebSocketClient_Close(struct WebSocket *client, struct WebSocket_CloseOption options) 156``` 157 158**描述** 159 160客户端主动关闭webSocket连接。 161 162**系统能力:** SystemCapability.Communication.NetStack 163 164**需要权限:** ohos.permission.INTERNET 165 166**起始版本:** 11 167 168 169**参数:** 170 171| 参数项 | 描述 | 172| -- | -- | 173| [struct WebSocket](capi-netstack-websocket.md) *client | 客户端。 | 174| [struct WebSocket_CloseOption](capi-netstack-websocket-closeoption.md) options | 发起关闭连接的可选参数。 | 175 176**返回:** 177 178| 类型 | 说明 | 179| -- | -- | 180| int | 返回值为0表示执行成功,返回值不为0表示失败。返回值详细信息可以查看OH_Websocket_ErrCode。 | 181 182### OH_WebSocketClient_Destroy() 183 184``` 185int OH_WebSocketClient_Destroy(struct WebSocket *client) 186``` 187 188**描述** 189 190释放websocket连接上下文和资源。 191 192**系统能力:** SystemCapability.Communication.NetStack 193 194**需要权限:** ohos.permission.INTERNET 195 196**起始版本:** 11 197 198 199**参数:** 200 201| 参数项 | 描述 | 202| -- | -- | 203| [struct WebSocket](capi-netstack-websocket.md) *client | 客户端。 | 204 205**返回:** 206 207| 类型 | 说明 | 208| -- | -- | 209| int | 返回值为0表示执行成功,返回值不为0表示失败。返回值详细信息可以查看OH_Websocket_ErrCode。 | 210 211