提交 d0546649 编写于 作者: C clevercong

format files.

Signed-off-by: Nclevercong <lichunlin2@huawei.com>
上级 15f36103
# 数据请求<a name="ZH-CN_TOPIC_0000001171944450"></a> # 数据请求
- [导入模块](#s56d19203690d4782bfc74069abb6bd71)
- [权限列表](#section11257113618419)
- [完整示例](#section119676440437)
- [http.createHttp](#section375081875219)
- [HttpRequest](#section775213486457)
- [request](#section08941433184616)
- [request](#section1361727114718)
- [request](#section47538114482)
- [destroy](#section613614500483)
- [on\('headerReceive'\)](#section617831813498)
- [off\('headerReceive'\)](#section017612118508)
- [on\('headersReceive'\)<sup>8+</sup>](#section6178318134982)
- [off\('headersReceive'\)<sup>8+</sup>](#section0176121185082)
- [once\('headersReceive'\)<sup>8+</sup>](#section68221041134718)
- [HttpRequestOptions](#section12262183471518)
- [RequestMethod](#section63024410264)
- [ResponseCode](#section769218832018)
- [HttpResponse](#section15920192914312)
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
> >
...@@ -25,17 +6,13 @@ ...@@ -25,17 +6,13 @@
> >
>本模块所有接口需要设备具有系统能力:SystemCapability.Communication.NetStack >本模块所有接口需要设备具有系统能力:SystemCapability.Communication.NetStack
## 导入模块<a name="s56d19203690d4782bfc74069abb6bd71"></a> ## 导入模块
``` ```
import http from '@ohos.net.http'; import http from '@ohos.net.http';
``` ```
## 权限列表<a name="section11257113618419"></a> ## 完整示例
ohos.permission.INTERNET
## 完整示例<a name="section119676440437"></a>
``` ```
import http from '@ohos.net.http'; import http from '@ohos.net.http';
...@@ -80,7 +57,7 @@ httpRequest.request( ...@@ -80,7 +57,7 @@ httpRequest.request(
); );
``` ```
## http.createHttp<a name="section375081875219"></a> ## http.createHttp
createHttp\(\): HttpRequest createHttp\(\): HttpRequest
...@@ -100,22 +77,24 @@ let httpRequest = http.createHttp(); ...@@ -100,22 +77,24 @@ let httpRequest = http.createHttp();
``` ```
## HttpRequest<a name="section775213486457"></a> ## HttpRequest
http请求任务。在调用HttpRequest的方法前,需要先通过[createHttp\(\)](#section375081875219)创建一个任务。 http请求任务。在调用HttpRequest的方法前,需要先通过[createHttp\(\)](#httpcreatehttp)创建一个任务。
### request<a name="section08941433184616"></a> ### request
request\(url: string, callback: AsyncCallback\<HttpResponse\>\):void request\(url: string, callback: AsyncCallback\<HttpResponse\>\):void
根据URL地址,发起HTTP网络请求,使用callback方式作为异步方法。 根据URL地址,发起HTTP网络请求,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ----------------------- | | -------- | ------------------------------------------------------- | ---- | ----------------------- |
| url | string | 是 | 发起网络请求的URL地址。 | | url | string | 是 | 发起网络请求的URL地址。 |
| callback | AsyncCallback\<[HttpResponse](#section12262183471518)\> | 是 | 回调函数。 | | callback | AsyncCallback\<[HttpResponse](#httpresponse)\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -133,19 +112,21 @@ httpRequest.request("EXAMPLE_URL", (err, data) => { ...@@ -133,19 +112,21 @@ httpRequest.request("EXAMPLE_URL", (err, data) => {
}); });
``` ```
### request<a name="section1361727114718"></a> ### request
request\(url: string, options: HttpRequestOptions, callback: AsyncCallback<HttpResponse\>\):void request\(url: string, options: HttpRequestOptions, callback: AsyncCallback<HttpResponse\>\):void
根据URL地址和相关配置项,发起HTTP网络请求,使用callback方式作为异步方法。 根据URL地址和相关配置项,发起HTTP网络请求,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | -------------------------------------------------- | | -------- | ---------------------------------------------- | ---- | ----------------------------------------------- |
| url | string | 是 | 发起网络请求的URL地址。 | | url | string | 是 | 发起网络请求的URL地址。 |
| options | HttpRequestOptions | 是 | 参考[HttpRequestOptions](#section12262183471518)。 | | options | HttpRequestOptions | 是 | 参考[HttpRequestOptions](#httprequestoptions)。 |
| callback | AsyncCallback\<[HttpResponse](#section12262183471518)\> | 是 | 回调函数。 | | callback | AsyncCallback\<[HttpResponse](#httpresponse)\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -176,24 +157,26 @@ httpRequest.request("EXAMPLE_URL", ...@@ -176,24 +157,26 @@ httpRequest.request("EXAMPLE_URL",
``` ```
### request<a name="section47538114482"></a> ### request
request\(url: string, options? : HttpRequestOptions\): Promise<HttpResponse\> request\(url: string, options? : HttpRequestOptions\): Promise<HttpResponse\>
根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法。 根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------ | ---- | -------------------------------------------------- | | ------- | ------------------ | ---- | -------------------------------------------------- |
| url | string | 是 | 发起网络请求的URL地址。 | | url | string | 是 | 发起网络请求的URL地址。 |
| options | HttpRequestOptions | 是 | 参考[HttpRequestOptions](#section12262183471518)。 | | options | HttpRequestOptions | 是 | 参考[HttpRequestOptions](#httprequestoptions)。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| :-------------------- | :-------------------------------- | | :-------------------- | :-------------------------------- |
| Promise<[HttpResponse](#section12262183471518)> | 以Promise形式返回发起请求的结果。 | | Promise<[HttpResponse](#httpresponse)> | 以Promise形式返回发起请求的结果。 |
**示例:** **示例:**
...@@ -222,7 +205,7 @@ promise.then((value) => { ...@@ -222,7 +205,7 @@ promise.then((value) => {
}); });
``` ```
### destroy<a name="section613614500483"></a> ### destroy
destroy\(\): void destroy\(\): void
...@@ -235,20 +218,20 @@ let httpRequest= http.createHttp(); ...@@ -235,20 +218,20 @@ let httpRequest= http.createHttp();
httpRequest.destroy(); httpRequest.destroy();
``` ```
### on\('headerReceive'\)<a name="section617831813498"></a> ### on\('headerReceive'\)
on\(type: 'headerReceive', callback: AsyncCallback<Object\>\):void on\(type: 'headerReceive', callback: AsyncCallback<Object\>\):void
订阅HTTP Response Header 事件。 订阅HTTP Response Header 事件。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
> 此接口已废弃,建议使用on\('headersReceive'\)替代。 > 此接口已废弃,建议使用[on\('headersReceive'\)<sup>8+</sup>](#onheadersreceive8)替代。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------- | | -------- | ----------------------- | ---- | --------------------------------- |
| type | string | 是 | 订阅的事件类型,如:'headerReceive'。 | | type | string | 是 | 订阅的事件类型,'headerReceive'。 |
| callback | AsyncCallback\<Object\> | 是 | 回调函数。 | | callback | AsyncCallback\<Object\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -265,7 +248,7 @@ httpRequest.on('headerReceive', (err, data) => { ...@@ -265,7 +248,7 @@ httpRequest.on('headerReceive', (err, data) => {
``` ```
### off\('headerReceive'\)<a name="section017612118508"></a> ### off\('headerReceive'\)
off\(type: 'headerReceive', callback?: AsyncCallback<Object\>\):void off\(type: 'headerReceive', callback?: AsyncCallback<Object\>\):void
...@@ -273,7 +256,7 @@ off\(type: 'headerReceive', callback?: AsyncCallback<Object\>\):void ...@@ -273,7 +256,7 @@ off\(type: 'headerReceive', callback?: AsyncCallback<Object\>\):void
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
> >
>1. 此接口已废弃,建议使用off\('headersReceive'\)替代。 >1. 此接口已废弃,建议使用[off\('headersReceive'\)<sup>8+</sup>](#offheadersreceive8)替代。
> >
>2. 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 >2. 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
...@@ -298,7 +281,7 @@ httpRequest.on('headerReceive', (err, data) => { ...@@ -298,7 +281,7 @@ httpRequest.on('headerReceive', (err, data) => {
httpRequest.off('headerReceive'); httpRequest.off('headerReceive');
``` ```
### on\('headersReceive'\)<sup>8+</sup><a name="section6178318134982"></a> ### on\('headersReceive'\)<sup>8+</sup>
on\(type: 'headersReceive', callback: Callback<Object\>\):void on\(type: 'headersReceive', callback: Callback<Object\>\):void
...@@ -321,7 +304,7 @@ httpRequest.on('headersReceive', (data) => { ...@@ -321,7 +304,7 @@ httpRequest.on('headersReceive', (data) => {
``` ```
### off\('headersReceive'\)<sup>8+</sup><a name="section0176121185082"></a> ### off\('headersReceive'\)<sup>8+</sup>
off\(type: 'headersReceive', callback?: Callback<Object\>\):void off\(type: 'headersReceive', callback?: Callback<Object\>\):void
...@@ -344,7 +327,7 @@ let httpRequest= http.createHttp(); ...@@ -344,7 +327,7 @@ let httpRequest= http.createHttp();
httpRequest.off('headersReceive'); httpRequest.off('headersReceive');
``` ```
### once\('headersReceive'\)<sup>8+</sup><a name="section68221041134718"></a> ### once\('headersReceive'\)<sup>8+</sup>
once\(type: "headersReceive", callback: Callback<Object\>\): void once\(type: "headersReceive", callback: Callback<Object\>\): void
...@@ -366,27 +349,19 @@ httpRequest.once('headersReceive', (data) => { ...@@ -366,27 +349,19 @@ httpRequest.once('headersReceive', (data) => {
}); });
``` ```
## HttpRequestOptions<a name="section12262183471518"></a> ## HttpRequestOptions
发起请求可选参数的类型和取值范围。 发起请求可选参数的类型和取值范围。
| 参数 | 类型 | 必填 | 说明 | | 参数 | 类型 | 必填 | 说明 |
| -------------- | ------------------------------------ | ---- | ---------------------------------------------------------- | | -------------- | ------------------------------------ | ---- | ---------------------------------------------------------- |
| method | [RequestMethod](#section63024410264) | 否 | 请求方式。 | | method | [RequestMethod](#requestmethod) | 否 | 请求方式。 |
| extraData | string \| Object \| ArrayBuffer8+ | 否 | 发送请求的额外数据。详见下方说明。 | | extraData | string \| Object \| ArrayBuffer<sup>8+</sup> | 否 | 发送请求的额外数据。<br />- 当HTTP请求为POST、PUT等方法时,此字段为HTTP请求的content。<br />- 当HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求的参数补充,参数内容会拼接到URL中进行发送。<sup>8+</sup><br />- 开发者传入string对象,开发者需要自行编码,将编码后的string传入。<sup>8+</sup> |
| header | Object | 否 | HTTP请求头字段。默认{'Content-Type': 'application/json'}。 | | header | Object | 否 | HTTP请求头字段。默认{'Content-Type': 'application/json'}。 |
| readTimeout | number | 否 | 读取超时时间。单位为毫秒(ms),默认为60000ms。 | | readTimeout | number | 否 | 读取超时时间。单位为毫秒(ms),默认为60000ms。 |
| connectTimeout | number | 否 | 连接超时时间。单位为毫秒(ms),默认为60000ms。 | | connectTimeout | number | 否 | 连接超时时间。单位为毫秒(ms),默认为60000ms。 |
> ![](public_sys-resources/icon-note.gif) **说明:** ## RequestMethod
>
> 1. 当HTTP请求为POST、PUT等方法时,此字段为HTTP请求的content。
>
> 2. 当HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求的参数补充,参数内容会拼接到URL中进行发送。8+
>
> 3. 开发者传入string对象,开发者需要自行编码,将编码后的string传入。8+
## RequestMethod<a name="section63024410264"></a>
HTTP 请求方法。 HTTP 请求方法。
...@@ -401,7 +376,7 @@ HTTP 请求方法。 ...@@ -401,7 +376,7 @@ HTTP 请求方法。
| TRACE | HTTP 请求 TRACE。 | | TRACE | HTTP 请求 TRACE。 |
| CONNECT | HTTP 请求 CONNECT。 | | CONNECT | HTTP 请求 CONNECT。 |
## ResponseCode<a name="section769218832018"></a> ## ResponseCode
发起请求返回的响应码。 发起请求返回的响应码。
...@@ -443,21 +418,14 @@ HTTP 请求方法。 ...@@ -443,21 +418,14 @@ HTTP 请求方法。
| GATEWAY_TIMEOUT | 504 | 充当网关或代理的服务器,未及时从远端服务器获取请求。 | | GATEWAY_TIMEOUT | 504 | 充当网关或代理的服务器,未及时从远端服务器获取请求。 |
| VERSION | 505 | 服务器请求的HTTP协议的版本。 | | VERSION | 505 | 服务器请求的HTTP协议的版本。 |
## HttpResponse<a name="section15920192914312"></a> ## HttpResponse
request方法回调函数的返回值类型。 request方法回调函数的返回值类型。
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------------ | ---------------------------------------------- | ---- | ------------------------------------------------------------ | | -------------------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| result | string \| Object \| ArrayBuffer8+ | 是 | Http请求根据响应头中Content-type类型返回对应的响应格式内容。详见下方说明。 | | result | string \| Object \| ArrayBuffer<sup>8+</sup> | 是 | Http请求根据响应头中Content-type类型返回对应的响应格式内容:<br />- application/json:返回JSON格式的字符串,如需Http响应具体内容,需开发者自行解析<br />- application/octet-stream:ArrayBuffer<br />- 其他:string |
| responseCode | [ResponseCode](#section769218832018) \| number | 是 | 回调函数执行成功时,此字段为[ResponseCode](#section769218832018)。若执行失败,错误码将会从AsyncCallback中的err字段返回。错误码如下:<br />- 200:通用错误<br />- 202:参数错误<br />- 300:I/O错误 | | responseCode | [ResponseCode](#responsecode) \| number | 是 | 回调函数执行成功时,此字段为[ResponseCode](#responsecode)。若执行失败,错误码将会从AsyncCallback中的err字段返回。错误码如下:<br />- 200:通用错误<br />- 202:参数错误<br />- 300:I/O错误 |
| header | Object | 是 | 发起http请求返回来的响应头。当前返回的是JSON格式字符串,如需具体字段内容,需开发者自行解析。常见字段及解析方式如下:<br/>- Content-Type:header['Content-Type'];<br />- Status-Line:header['Status-Line'];<br />- Date:header.Date/header['Date'];<br />- Server:header.Server/header['Server']; | | header | Object | 是 | 发起http请求返回来的响应头。当前返回的是JSON格式字符串,如需具体字段内容,需开发者自行解析。常见字段及解析方式如下:<br/>- Content-Type:header['Content-Type'];<br />- Status-Line:header['Status-Line'];<br />- Date:header.Date/header['Date'];<br />- Server:header.Server/header['Server']; |
| cookies8+ | Array\<string\> | 是 | 服务器返回的 cookies。 | | cookies<sup>8+</sup> | Array\<string\> | 是 | 服务器返回的 cookies。 |
> ![](public_sys-resources/icon-note.gif) **说明:**
>
> 根据响应头中Content-type类型的不同,返回的类型不同:
>
> - application/json:返回JSON格式的字符串,如需Http响应具体内容,需开发者自行解析
> - application/octet-stream:ArrayBuffer
> - 其他:string
# Socket连接<a name="ZH-CN_TOPIC_0000001181612734"></a> # Socket连接
- [导入模块](#s56d19203690d4782bfc74069abb6bd71)
- [权限列表](#section11257113618419)
- [socket.constructUDPSocketInstance](#section375081875219)
- [UDPSocket](#section1957294511568)
- [bind](#section7382103811272)
- [bind](#section12433131831219)
- [send](#section1859172655111)
- [send](#section61591275527)
- [close](#section068563155214)
- [close](#section1788163335319)
- [getState](#section1028719549533)
- [getState](#section1333814412551)
- [setExtraOptions](#section16890953175514)
- [setExtraOptions](#section5493159165611)
- [on\('message'\)](#section1632573015551)
- [off\('message'\)](#section789519374558)
- [on\('listening' | 'close'\)](#section20461174410557)
- [off\('listening' | 'close'\)](#section649105218559)
- [on\('error'\)](#section16745135855515)
- [off\('error'\)](#section49111157568)
- [NetAddress](#section159132241295)
- [UDPSendOptions](#section13297558184010)
- [UDPExtraOptions](#section1650575184117)
- [SocketStateBase](#section164609984111)
- [SocketRemoteInfo](#section46021613174115)
- [socket.constructTCPSocketInstance](#section283119484161)
- [TCPSocket](#section1180211014548)
- [bind](#section8465924145710)
- [bind](#section27150134582)
- [connect](#section82761299586)
- [connect](#section374992304)
- [send](#section74991317709)
- [send](#section2841321507)
- [close](#section71701043701)
- [close](#section13523755306)
- [getRemoteAddress](#section1268431414115)
- [getRemoteAddress](#section89019337116)
- [getState](#section830554511115)
- [getState](#section3460522026)
- [setExtraOptions](#section738911419219)
- [setExtraOptions](#section1847278215)
- [on\('message'\)](#section642292019182)
- [off\('message'\)](#section8426920151811)
- [on\('connect' | 'close'\)](#section6429202001812)
- [off\('connect' | 'close'\)](#section54325209187)
- [on\('error'\)](#section19436172061817)
- [off\('error'\)](#section6438202013182)
- [TCPConnectOptions](#section13821005712)
- [TCPSendOptions](#section1689232415715)
- [TCPExtraOptions](#section13892555115718)
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
> >
...@@ -59,17 +6,17 @@ ...@@ -59,17 +6,17 @@
> >
>本模块所有接口需要设备具有系统能力:SystemCapability.Communication.NetStack >本模块所有接口需要设备具有系统能力:SystemCapability.Communication.NetStack
## 导入模块<a name="s56d19203690d4782bfc74069abb6bd71"></a> ## 导入模块
``` ```
import socket from '@ohos.net.socket'; import socket from '@ohos.net.socket';
``` ```
## 权限列表<a name="section11257113618419"></a> ## 权限列表
ohos.permission.INTERNET ohos.permission.INTERNET
## socket.constructUDPSocketInstance<a name="section375081875219"></a> ## socket.constructUDPSocketInstance
constructUDPSocketInstance\(\): UDPSocket constructUDPSocketInstance\(\): UDPSocket
...@@ -79,7 +26,7 @@ constructUDPSocketInstance\(\): UDPSocket ...@@ -79,7 +26,7 @@ constructUDPSocketInstance\(\): UDPSocket
| 类型 | 说明 | | 类型 | 说明 |
| :--------------------------------- | :---------------------- | | :--------------------------------- | :---------------------- |
| [UDPSocket](#section1957294511568) | 返回一个UDPSocket对象。 | | [UDPSocket](#udpsocket) | 返回一个UDPSocket对象。 |
**示例:** **示例:**
...@@ -89,21 +36,23 @@ let udp = socket.constructUDPSocketInstance(); ...@@ -89,21 +36,23 @@ let udp = socket.constructUDPSocketInstance();
``` ```
## UDPSocket<a name="section1957294511568"></a> ## UDPSocket
UDPSocket连接。在调用UDPSocket的方法前,需要先通过[socket.constructUDPSocketInstance](#section375081875219)创建UDPSocket对象。 UDPSocket连接。在调用UDPSocket的方法前,需要先通过[socket.constructUDPSocketInstance](#socketconstructudpsocketinstance)创建UDPSocket对象。
### bind<a name="section7382103811272"></a> ### bind
bind\(address: NetAddress, callback: AsyncCallback<void\>\): void bind\(address: NetAddress, callback: AsyncCallback<void\>\): void
绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方式作为异步方法。 绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------- | ---- | ------------------------------------------------------ | | -------- | ---------------------------------- | ---- | ------------------------------------------------------ |
| address | [NetAddress](#section159132241295) | 是 | 目标地址信息,参考[NetAddress](#section159132241295)。 | | address | [NetAddress](#netaddress) | 是 | 目标地址信息,参考[NetAddress](#netaddress)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -120,17 +69,19 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ...@@ -120,17 +69,19 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
``` ```
### bind<a name="section12433131831219"></a> ### bind
bind\(address: NetAddress\): Promise<void\> bind\(address: NetAddress\): Promise<void\>
绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方式作为异步方法。 绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------- | ---- | ------------------------------------------------------ | | ------- | ---------------------------------- | ---- | ------------------------------------------------------ |
| address | [NetAddress](#section159132241295) | 是 | 目标地址信息,参考[NetAddress](#section159132241295)。 | | address | [NetAddress](#netaddress) | 是 | 目标地址信息,参考[NetAddress](#netaddress)。 |
**返回值:** **返回值:**
...@@ -152,17 +103,19 @@ promise .then(() => { ...@@ -152,17 +103,19 @@ promise .then(() => {
``` ```
### send<a name="section1859172655111"></a> ### send
send\(options: UDPSendOptions, callback: AsyncCallback<void\>\): void send\(options: UDPSendOptions, callback: AsyncCallback<void\>\): void
通过UDPSocket连接发送数据。使用callback方式作为异步方法。 通过UDPSocket连接发送数据。使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [UDPSendOptions](#section13297558184010) | 是 | UDPSocket发送参数,参考[UDPSendOptions](#section13297558184010)。 | | options | [UDPSendOptions](#udpsendoptions) | 是 | UDPSocket发送参数,参考[UDPSendOptions](#udpsendoptions)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -186,17 +139,19 @@ udp.send({ ...@@ -186,17 +139,19 @@ udp.send({
``` ```
### send<a name="section61591275527"></a> ### send
send\(options: UDPSendOptions\): Promise<void\> send\(options: UDPSendOptions\): Promise<void\>
通过UDPSocket连接发送数据。使用Promise方式作为异步方法。 通过UDPSocket连接发送数据。使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [UDPSendOptions](#section13297558184010) | 是 | UDPSocket发送参数,参考[UDPSendOptions](#section13297558184010)。 | | options | [UDPSendOptions](#udpsendoptions) | 是 | UDPSocket发送参数,参考[UDPSendOptions](#udpsendoptions)。 |
**返回值:** **返回值:**
...@@ -224,12 +179,14 @@ promise.then(() => { ...@@ -224,12 +179,14 @@ promise.then(() => {
``` ```
### close<a name="section068563155214"></a> ### close
close\(callback: AsyncCallback<void\>\): void close\(callback: AsyncCallback<void\>\): void
关闭UDPSocket连接。使用callback方式作为异步方法。 关闭UDPSocket连接。使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -250,12 +207,14 @@ udp.close(err => { ...@@ -250,12 +207,14 @@ udp.close(err => {
``` ```
### close<a name="section1788163335319"></a> ### close
close\(\): Promise<void\> close\(\): Promise<void\>
关闭UDPSocket连接。使用Promise方式作为异步方法。 关闭UDPSocket连接。使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -275,20 +234,22 @@ promise.then(() => { ...@@ -275,20 +234,22 @@ promise.then(() => {
``` ```
### getState<a name="section1028719549533"></a> ### getState
getState\(callback: AsyncCallback<SocketStateBase\>\): void getState\(callback: AsyncCallback<SocketStateBase\>\): void
获取UDPSocket状态。使用callback方式作为异步方法。 获取UDPSocket状态。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section7382103811272)方法调用成功后,才可调用此方法。 >[bind](#bind)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------ | ---- | ---------- | | -------- | ------------------------------------------------------ | ---- | ---------- |
| callback | AsyncCallback<[SocketStateBase](#section164609984111)> | 是 | 回调函数。 | | callback | AsyncCallback<[SocketStateBase](#socketstatebase)> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -311,20 +272,22 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ...@@ -311,20 +272,22 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
``` ```
### getState<a name="section1333814412551"></a> ### getState
getState\(\): Promise<SocketStateBase\> getState\(\): Promise<SocketStateBase\>
获取UDPSocket状态。使用Promise方式作为异步方法。 获取UDPSocket状态。使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section7382103811272)方法调用成功后,才可调用此方法。 >[bind](#bind)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| :----------------------------------------------- | :----------------------------------------- | | :----------------------------------------------- | :----------------------------------------- |
| Promise<[SocketStateBase](#section164609984111)> | 以Promise形式返回获取UDPSocket状态的结果。 | | Promise<[SocketStateBase](#socketstatebase)> | 以Promise形式返回获取UDPSocket状态的结果。 |
**示例:** **示例:**
...@@ -346,20 +309,22 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ...@@ -346,20 +309,22 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
``` ```
### setExtraOptions<a name="section16890953175514"></a> ### setExtraOptions
setExtraOptions\(options: UDPExtraOptions, callback: AsyncCallback<void\>\): void setExtraOptions\(options: UDPExtraOptions, callback: AsyncCallback<void\>\): void
设置UDPSocket连接的其他属性。使用callback方式作为异步方法。 设置UDPSocket连接的其他属性。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section7382103811272)方法调用成功后,才可调用此方法。 >[bind](#bind)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [UDPExtraOptions](#section1650575184117) | 是 | UDPSocket连接的其他属性,参考[UDPExtraOptions](#section1650575184117)。 | | options | [UDPExtraOptions](#udpextraoptions) | 是 | UDPSocket连接的其他属性,参考[UDPExtraOptions](#udpextraoptions)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
...@@ -390,20 +355,22 @@ udp.bind({address:'192.168.xx.xxx', port:xxxx, family:1}, err=> { ...@@ -390,20 +355,22 @@ udp.bind({address:'192.168.xx.xxx', port:xxxx, family:1}, err=> {
``` ```
### setExtraOptions<a name="section5493159165611"></a> ### setExtraOptions
setExtraOptions\(options: UDPExtraOptions\): Promise<void\> setExtraOptions\(options: UDPExtraOptions\): Promise<void\>
设置UDPSocket连接的其他属性。使用Promise方式作为异步方法。 设置UDPSocket连接的其他属性。使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section7382103811272)方法调用成功后,才可调用此方法。 >[bind](#bind)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [UDPExtraOptions](#section1650575184117) | 是 | UDPSocket连接的其他属性,参考[UDPExtraOptions](#section1650575184117)。 | | options | [UDPExtraOptions](#udpextraoptions) | 是 | UDPSocket连接的其他属性,参考[UDPExtraOptions](#udpextraoptions)。 |
**返回值:** **返回值:**
...@@ -436,7 +403,7 @@ promise.then(() => { ...@@ -436,7 +403,7 @@ promise.then(() => {
``` ```
### on\('message'\)<a name="section1632573015551"></a> ### on\('message'\)
on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void
...@@ -447,7 +414,7 @@ on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: Sock ...@@ -447,7 +414,7 @@ on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: Sock
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- |
| type | string | 是 | 订阅的事件类型。'message':接收消息事件。 | | type | string | 是 | 订阅的事件类型。'message':接收消息事件。 |
| callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#section46021613174115)}> | 是 | 回调函数。 | | callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -459,7 +426,7 @@ udp.on('message', value => { ...@@ -459,7 +426,7 @@ udp.on('message', value => {
``` ```
### off\('message'\)<a name="section789519374558"></a> ### off\('message'\)
off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void
...@@ -473,7 +440,7 @@ off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: So ...@@ -473,7 +440,7 @@ off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: So
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- |
| type | string | 是 | 订阅的事件类型。'message':接收消息事件。 | | type | string | 是 | 订阅的事件类型。'message':接收消息事件。 |
| callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#section46021613174115)}> | 否 | 回调函数。 | | callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}> | 否 | 回调函数。 |
**示例:** **示例:**
...@@ -489,7 +456,7 @@ udp.off('message'); ...@@ -489,7 +456,7 @@ udp.off('message');
``` ```
### on\('listening' | 'close'\)<a name="section20461174410557"></a> ### on\('listening' | 'close'\)
on\(type: 'listening' | 'close', callback: Callback<void\>\): void on\(type: 'listening' | 'close', callback: Callback<void\>\): void
...@@ -515,7 +482,7 @@ udp.on('close', () => { ...@@ -515,7 +482,7 @@ udp.on('close', () => {
``` ```
### off\('listening' | 'close'\)<a name="section649105218559"></a> ### off\('listening' | 'close'\)
off\(type: 'listening' | 'close', callback?: Callback<void\>\): void off\(type: 'listening' | 'close', callback?: Callback<void\>\): void
...@@ -552,7 +519,7 @@ udp.off('close'); ...@@ -552,7 +519,7 @@ udp.off('close');
``` ```
### on\('error'\)<a name="section16745135855515"></a> ### on\('error'\)
on\(type: 'error', callback: ErrorCallback\): void on\(type: 'error', callback: ErrorCallback\): void
...@@ -576,7 +543,7 @@ udp.on('error', err => { ...@@ -576,7 +543,7 @@ udp.on('error', err => {
``` ```
### off\('error'\)<a name="section49111157568"></a> ### off\('error'\)
off\(type: 'error', callback?: ErrorCallback\): void off\(type: 'error', callback?: ErrorCallback\): void
...@@ -606,7 +573,7 @@ udp.off('error'); ...@@ -606,7 +573,7 @@ udp.off('error');
``` ```
## NetAddress<a name="section159132241295"></a> ## NetAddress
目标地址信息。 目标地址信息。
...@@ -616,16 +583,16 @@ udp.off('error'); ...@@ -616,16 +583,16 @@ udp.off('error');
| port | number | 否 | 端口号 ,范围0~65535。如果不指定系统随机分配端口。 | | port | number | 否 | 端口号 ,范围0~65535。如果不指定系统随机分配端口。 |
| family | number | 否 | 网络协议类型,可选类型:<br />- 1:IPv4<br />- 2:IPv6<br />默认为1。 | | family | number | 否 | 网络协议类型,可选类型:<br />- 1:IPv4<br />- 2:IPv6<br />默认为1。 |
## UDPSendOptions<a name="section13297558184010"></a> ## UDPSendOptions
UDPSocket发送参数。 UDPSocket发送参数。
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------- | ---- | -------------- | | ------- | ---------------------------------- | ---- | -------------- |
| data | string | 是 | 发送的数据。 | | data | string | 是 | 发送的数据。 |
| address | [NetAddress](#section159132241295) | 是 | 目标地址信息。 | | address | [NetAddress](#netaddress) | 是 | 目标地址信息。 |
## UDPExtraOptions<a name="section1650575184117"></a> ## UDPExtraOptions
UDPSocket连接的其他属性。 UDPSocket连接的其他属性。
...@@ -637,7 +604,7 @@ UDPSocket连接的其他属性。 ...@@ -637,7 +604,7 @@ UDPSocket连接的其他属性。
| reuseAddress | boolean | 否 | 是否重用地址。默认为false。 | | reuseAddress | boolean | 否 | 是否重用地址。默认为false。 |
| socketTimeout | number | 否 | 套接字超时时间,单位毫秒(ms)。 | | socketTimeout | number | 否 | 套接字超时时间,单位毫秒(ms)。 |
## SocketStateBase<a name="section164609984111"></a> ## SocketStateBase
Socket的状态信息。 Socket的状态信息。
...@@ -647,7 +614,7 @@ Socket的状态信息。 ...@@ -647,7 +614,7 @@ Socket的状态信息。
| isClose | boolean | 是 | 是否关闭。 | | isClose | boolean | 是 | 是否关闭。 |
| isConnected | boolean | 是 | 是否连接。 | | isConnected | boolean | 是 | 是否连接。 |
## SocketRemoteInfo<a name="section46021613174115"></a> ## SocketRemoteInfo
Socket的连接信息。 Socket的连接信息。
...@@ -658,7 +625,7 @@ Socket的连接信息。 ...@@ -658,7 +625,7 @@ Socket的连接信息。
| port | number | 是 | 端口号,范围0~65535。 | | port | number | 是 | 端口号,范围0~65535。 |
| size | number | 是 | 服务器响应信息的字节长度。 | | size | number | 是 | 服务器响应信息的字节长度。 |
## socket.constructTCPSocketInstance<a name="section283119484161"></a> ## socket.constructTCPSocketInstance
constructTCPSocketInstance\(\): TCPSocket constructTCPSocketInstance\(\): TCPSocket
...@@ -668,7 +635,7 @@ constructTCPSocketInstance\(\): TCPSocket ...@@ -668,7 +635,7 @@ constructTCPSocketInstance\(\): TCPSocket
| 类型 | 说明 | | 类型 | 说明 |
| :--------------------------------- | :---------------------- | | :--------------------------------- | :---------------------- |
| [TCPSocket](#section1180211014548) | 返回一个TCPSocket对象。 | | [TCPSocket](#tcpsocket) | 返回一个TCPSocket对象。 |
**示例:** **示例:**
...@@ -677,21 +644,23 @@ let tcp = socket.constructTCPSocketInstance(); ...@@ -677,21 +644,23 @@ let tcp = socket.constructTCPSocketInstance();
``` ```
## TCPSocket<a name="section1180211014548"></a> ## TCPSocket
TCPSocket连接。在调用TCPSocket的方法前,需要先通过[socket.constructTCPSocketInstance](#section283119484161)创建TCPSocket对象。 TCPSocket连接。在调用TCPSocket的方法前,需要先通过[socket.constructTCPSocketInstance](#socketconstructtcpsocketinstance)创建TCPSocket对象。
### bind<a name="section8465924145710"></a> ### bind
bind\(address: NetAddress, callback: AsyncCallback<void\>\): void bind\(address: NetAddress, callback: AsyncCallback<void\>\): void
绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方法作为异步方法。 绑定IP地址和端口,端口可以指定或由系统随机分配。使用callback方法作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------- | ---- | ------------------------------------------------------ | | -------- | ---------------------------------- | ---- | ------------------------------------------------------ |
| address | [NetAddress](#section159132241295) | 是 | 目标地址信息,参考[NetAddress](#section159132241295)。 | | address | [NetAddress](#netaddress) | 是 | 目标地址信息,参考[NetAddress](#netaddress)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
...@@ -709,17 +678,19 @@ tcp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => { ...@@ -709,17 +678,19 @@ tcp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
``` ```
### bind<a name="section27150134582"></a> ### bind
bind\(address NetAddress\): Promise<void\> bind\(address NetAddress\): Promise<void\>
绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方法作为异步方法。 绑定IP地址和端口,端口可以指定或由系统随机分配。使用Promise方法作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------- | ---- | ------------------------------------------------------ | | ------- | ---------------------------------- | ---- | ------------------------------------------------------ |
| address | [NetAddress](#section159132241295) | 是 | 目标地址信息,参考[NetAddress](#section159132241295)。 | | address | [NetAddress](#netaddress) | 是 | 目标地址信息,参考[NetAddress](#netaddress)。 |
**返回值:** **返回值:**
...@@ -740,17 +711,19 @@ promise.then(() => { ...@@ -740,17 +711,19 @@ promise.then(() => {
``` ```
### connect<a name="section82761299586"></a> ### connect
connect\(options: TCPConnectOptions, callback: AsyncCallback<void\>\): void connect\(options: TCPConnectOptions, callback: AsyncCallback<void\>\): void
连接到指定的IP地址和端口。使用callback方法作为异步方法。 连接到指定的IP地址和端口。使用callback方法作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPConnectOptions](#section13821005712) | 是 | TCPSocket连接的参数,参考[TCPConnectOptions](#section13821005712)。 | | options | [TCPConnectOptions](#tcpconnectoptions) | 是 | TCPSocket连接的参数,参考[TCPConnectOptions](#tcpconnectoptions)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -767,17 +740,19 @@ tcp.connect({ address: {address: '192.168.xx.xxx', port: xxxx, family: 1} , time ...@@ -767,17 +740,19 @@ tcp.connect({ address: {address: '192.168.xx.xxx', port: xxxx, family: 1} , time
``` ```
### connect<a name="section374992304"></a> ### connect
connect\(options: TCPConnectOptions\): Promise<void\> connect\(options: TCPConnectOptions\): Promise<void\>
连接到指定的IP地址和端口。使用promise方法作为异步方法。 连接到指定的IP地址和端口。使用promise方法作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPConnectOptions](#section13821005712) | 是 | TCPSocket连接的参数,参考[TCPConnectOptions](#section13821005712)。 | | options | [TCPConnectOptions](#tcpconnectoptions) | 是 | TCPSocket连接的参数,参考[TCPConnectOptions](#tcpconnectoptions)。 |
**返回值:** **返回值:**
...@@ -798,20 +773,22 @@ promise.then(() => { ...@@ -798,20 +773,22 @@ promise.then(() => {
``` ```
### send<a name="section74991317709"></a> ### send
send\(options: TCPSendOptions, callback: AsyncCallback<void\>\): void send\(options: TCPSendOptions, callback: AsyncCallback<void\>\): void
通过TCPSocket连接发送数据。使用callback方式作为异步方法。 通过TCPSocket连接发送数据。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPSendOptions](#section1689232415715) | 是 | TCPSocket发送请求的参数,参考[TCPSendOptions](#section1689232415715)。 | | options | [TCPSendOptions](#tcpsendoptions) | 是 | TCPSocket发送请求的参数,参考[TCPSendOptions](#tcpsendoptions)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -836,20 +813,22 @@ promise.then(() => { ...@@ -836,20 +813,22 @@ promise.then(() => {
``` ```
### send<a name="section2841321507"></a> ### send
send\(options: TCPSendOptions\): Promise<void\> send\(options: TCPSendOptions\): Promise<void\>
通过TCPSocket连接发送数据。使用Promise方式作为异步方法。 通过TCPSocket连接发送数据。使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPSendOptions](#section1689232415715) | 是 | TCPSocket发送请求的参数,参考[TCPSendOptions](#section1689232415715)。 | | options | [TCPSendOptions](#tcpsendoptions) | 是 | TCPSocket发送请求的参数,参考[TCPSendOptions](#tcpsendoptions)。 |
**返回值:** **返回值:**
...@@ -878,12 +857,14 @@ promise1.then(() => { ...@@ -878,12 +857,14 @@ promise1.then(() => {
``` ```
### close<a name="section71701043701"></a> ### close
close\(callback: AsyncCallback<void\>\): void close\(callback: AsyncCallback<void\>\): void
关闭TCPSocket连接。使用callback方式作为异步方法。 关闭TCPSocket连接。使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -905,12 +886,14 @@ tcp.close(err => { ...@@ -905,12 +886,14 @@ tcp.close(err => {
``` ```
### close<a name="section13523755306"></a> ### close
close\(\): Promise<void\> close\(\): Promise<void\>
关闭TCPSocket连接。使用Promise方式作为异步方法。 关闭TCPSocket连接。使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -930,20 +913,22 @@ promise.then(() => { ...@@ -930,20 +913,22 @@ promise.then(() => {
``` ```
### getRemoteAddress<a name="section1268431414115"></a> ### getRemoteAddress
getRemoteAddress\(callback: AsyncCallback<NetAddress\>\): void getRemoteAddress\(callback: AsyncCallback<NetAddress\>\): void
获取对端Socket地址。使用callback方式作为异步方法。 获取对端Socket地址。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ---------- | | -------- | ------------------------------------------------- | ---- | ---------- |
| callback | AsyncCallback<[NetAddress](#section159132241295)> | 是 | 回调函数。 | | callback | AsyncCallback<[NetAddress](#netaddress)> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -965,20 +950,22 @@ promise.then(() => { ...@@ -965,20 +950,22 @@ promise.then(() => {
``` ```
### getRemoteAddress<a name="section89019337116"></a> ### getRemoteAddress
getRemoteAddress\(\): Promise<NetAddress\> getRemoteAddress\(\): Promise<NetAddress\>
获取对端Socket地址。使用Promise方式作为异步方法。 获取对端Socket地址。使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| :------------------------------------------ | :------------------------------------------ | | :------------------------------------------ | :------------------------------------------ |
| Promise<[NetAddress](#section159132241295)> | 以Promise形式返回获取对端socket地址的结果。 | | Promise<[NetAddress](#netaddress)> | 以Promise形式返回获取对端socket地址的结果。 |
**示例:** **示例:**
...@@ -999,20 +986,22 @@ promise1.then(() => { ...@@ -999,20 +986,22 @@ promise1.then(() => {
``` ```
### getState<a name="section830554511115"></a> ### getState
getState\(callback: AsyncCallback<SocketStateBase\>\): void getState\(callback: AsyncCallback<SocketStateBase\>\): void
获取TCPSocket状态。使用callback方式作为异步方法。 获取TCPSocket状态。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section8465924145710)或[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------ | ---- | ---------- | | -------- | ------------------------------------------------------ | ---- | ---------- |
| callback | AsyncCallback<[SocketStateBase](#section164609984111)> | 是 | 回调函数。 | | callback | AsyncCallback<[SocketStateBase](#socketstatebase)> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -1035,20 +1024,22 @@ promise.then(() => { ...@@ -1035,20 +1024,22 @@ promise.then(() => {
``` ```
### getState<a name="section3460522026"></a> ### getState
getState\(\): Promise<SocketStateBase\> getState\(\): Promise<SocketStateBase\>
获取TCPSocket状态。使用Promise方式作为异步方法。 获取TCPSocket状态。使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section8465924145710)或[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| :----------------------------------------------- | :----------------------------------------- | | :----------------------------------------------- | :----------------------------------------- |
| Promise<[SocketStateBase](#section164609984111)> | 以Promise形式返回获取TCPSocket状态的结果。 | | Promise<[SocketStateBase](#socketstatebase)> | 以Promise形式返回获取TCPSocket状态的结果。 |
**示例:** **示例:**
...@@ -1070,20 +1061,22 @@ promise.then(() => { ...@@ -1070,20 +1061,22 @@ promise.then(() => {
``` ```
### setExtraOptions<a name="section738911419219"></a> ### setExtraOptions
setExtraOptions\(options: TCPExtraOptions, callback: AsyncCallback<void\>\): void setExtraOptions\(options: TCPExtraOptions, callback: AsyncCallback<void\>\): void
设置TCPSocket连接的其他属性。使用callback方式作为异步方法。 设置TCPSocket连接的其他属性。使用callback方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section8465924145710)或[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPExtraOptions](#section13892555115718) | 是 | TCPSocket连接的其他属性,参考[TCPExtraOptions](#section13892555115718)。 | | options | [TCPExtraOptions](#tcpextraoptions) | 是 | TCPSocket连接的其他属性,参考[TCPExtraOptions](#tcpextraoptions)。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -1115,20 +1108,22 @@ promise.then(() => { ...@@ -1115,20 +1108,22 @@ promise.then(() => {
``` ```
### setExtraOptions<a name="section1847278215"></a> ### setExtraOptions
setExtraOptions\(options: TCPExtraOptions\): Promise<void\> setExtraOptions\(options: TCPExtraOptions\): Promise<void\>
设置TCPSocket连接的其他属性,使用Promise方式作为异步方法。 设置TCPSocket连接的其他属性,使用Promise方式作为异步方法。
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>[bind](#section8465924145710)或[connect](#section82761299586)方法调用成功后,才可调用此方法。 >[bind](#bind)或[connect](#connect)方法调用成功后,才可调用此方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | | ------- | ----------------------------------------- | ---- | ------------------------------------------------------------ |
| options | [TCPExtraOptions](#section13892555115718) | 是 | TCPSocket连接的其他属性,参考[TCPExtraOptions](#section13892555115718)。 | | options | [TCPExtraOptions](#tcpextraoptions) | 是 | TCPSocket连接的其他属性,参考[TCPExtraOptions](#tcpextraoptions)。 |
**返回值:** **返回值:**
...@@ -1165,7 +1160,7 @@ promise.then(() => { ...@@ -1165,7 +1160,7 @@ promise.then(() => {
``` ```
### on\('message'\)<a name="section642292019182"></a> ### on\('message'\)
on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void
...@@ -1176,7 +1171,7 @@ on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: Sock ...@@ -1176,7 +1171,7 @@ on\(type: 'message', callback: Callback<\{message: ArrayBuffer, remoteInfo: Sock
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- |
| type | string | 是 | 订阅的事件类型。'message':接收消息事件。 | | type | string | 是 | 订阅的事件类型。'message':接收消息事件。 |
| callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#section46021613174115)}> | 是 | 回调函数。 | | callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -1188,7 +1183,7 @@ tcp.on('message', value => { ...@@ -1188,7 +1183,7 @@ tcp.on('message', value => {
``` ```
### off\('message'\)<a name="section8426920151811"></a> ### off\('message'\)
off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: SocketRemoteInfo\}\>\): void
...@@ -1202,7 +1197,7 @@ off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: So ...@@ -1202,7 +1197,7 @@ off\(type: 'message', callback?: Callback<\{message: ArrayBuffer, remoteInfo: So
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- | | -------- | ------------------------------------------------------------ | ---- | ----------------------------------------- |
| type | string | 是 | 订阅的事件类型。'message':接收消息事件。 | | type | string | 是 | 订阅的事件类型。'message':接收消息事件。 |
| callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#section46021613174115)}> | 否 | 回调函数。 | | callback | Callback<{message: ArrayBuffer, remoteInfo: [SocketRemoteInfo](#socketremoteinfo)}> | 否 | 回调函数。 |
**示例:** **示例:**
...@@ -1218,7 +1213,7 @@ tcp.off('message'); ...@@ -1218,7 +1213,7 @@ tcp.off('message');
``` ```
### on\('connect' | 'close'\)<a name="section6429202001812"></a> ### on\('connect' | 'close'\)
on\(type: 'connect' | 'close', callback: Callback<void\>\): void on\(type: 'connect' | 'close', callback: Callback<void\>\): void
...@@ -1245,7 +1240,7 @@ tcp.on('close', data => { ...@@ -1245,7 +1240,7 @@ tcp.on('close', data => {
``` ```
### off\('connect' | 'close'\)<a name="section54325209187"></a> ### off\('connect' | 'close'\)
off\(type: 'connect' | 'close', callback: Callback<void\>\): void off\(type: 'connect' | 'close', callback: Callback<void\>\): void
...@@ -1282,7 +1277,7 @@ tcp.off('close'); ...@@ -1282,7 +1277,7 @@ tcp.off('close');
``` ```
### on\('error'\)<a name="section19436172061817"></a> ### on\('error'\)
on\(type: 'error', callback: ErrorCallback\): void on\(type: 'error', callback: ErrorCallback\): void
...@@ -1305,7 +1300,7 @@ tcp.on('error', err => { ...@@ -1305,7 +1300,7 @@ tcp.on('error', err => {
``` ```
### off\('error'\)<a name="section6438202013182"></a> ### off\('error'\)
off\(type: 'error', callback?: ErrorCallback\): void off\(type: 'error', callback?: ErrorCallback\): void
...@@ -1335,16 +1330,16 @@ tcp.off('error'); ...@@ -1335,16 +1330,16 @@ tcp.off('error');
``` ```
## TCPConnectOptions<a name="section13821005712"></a> ## TCPConnectOptions
TCPSocket连接的参数。 TCPSocket连接的参数。
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------- | ---- | -------------------------- | | ------- | ---------------------------------- | ---- | -------------------------- |
| address | [NetAddress](#section159132241295) | 是 | 绑定的地址以及端口。 | | address | [NetAddress](#netaddress) | 是 | 绑定的地址以及端口。 |
| timeout | number | 否 | 超时时间,单位毫秒(ms)。 | | timeout | number | 否 | 超时时间,单位毫秒(ms)。 |
## TCPSendOptions<a name="section1689232415715"></a> ## TCPSendOptions
TCPSocket发送请求的参数。 TCPSocket发送请求的参数。
...@@ -1353,7 +1348,7 @@ TCPSocket发送请求的参数。 ...@@ -1353,7 +1348,7 @@ TCPSocket发送请求的参数。
| data | string | 是 | 发送的数据。 | | data | string | 是 | 发送的数据。 |
| encoding | string | 否 | 字符编码(UTF-8,UTF-16BE,UTF-16LE,UTF-16,US-AECII,ISO-8859-1),默认为UTF-8。 | | encoding | string | 否 | 字符编码(UTF-8,UTF-16BE,UTF-16LE,UTF-16,US-AECII,ISO-8859-1),默认为UTF-8。 |
## TCPExtraOptions<a name="section13892555115718"></a> ## TCPExtraOptions
TCPSocket连接的其他属性。 TCPSocket连接的其他属性。
......
# WebSocket连接<a name="ZH-CN_TOPIC_0000001216545901"></a> # WebSocket连接
- [导入模块](#s56d19203690d4782bfc74069abb6bd71)
- [权限列表](#section11257113618419)
- [完整示例](#section20761171275912)
- [webSocket.createWebSocket](#section375081875219)
- [WebSocket](#section16411174314593)
- [connect](#section1377525513113)
- [connect](#section18952991528)
- [connect](#section10573126422)
- [send](#section156451414213)
- [send](#section137609541324)
- [close](#section202411451433)
- [close](#section10491513437)
- [close](#section118451219536)
- [on\('open'\)](#section923017271834)
- [off\('open'\)](#section207051331730)
- [on\('message'\)](#section1066819418488)
- [off\('message'\)](#section1467019413484)
- [on\('close'\)](#section169378107484)
- [off\('close'\)](#section993911074812)
- [on\('error'\)](#section2997161484815)
- [off\('error'\)](#section13999114164815)
- [WebSocketRequestOptions](#section11251233123910)
- [WebSocketCloseOptions](#section12262183471518)
- [close错误码说明](#section1635681416477)
>![](public_sys-resources/icon-note.gif) **说明:** >![](public_sys-resources/icon-note.gif) **说明:**
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 >本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> >
>当前暂时不支持WebSocket,预计在MR版本支持。 >当前暂时不支持WebSocket,预计在MR版本支持。
使用WebSocket建立服务器与客户端的双向连接,需要先通过[createWebSocket](#section375081875219)方法创建[WebSocket](#section16411174314593)对象,然后通过[connect](WebSocket连接.md)方法连接到服务器。当连接成功后,客户端会收到[open](#section923017271834)事件的回调,之后客户端就可以通过[send](#section156451414213)方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到[message](#section1066819418488)事件的回调。当客户端不要此连接时,可以通过调用[close](#section202411451433)方法主动断开连接,之后客户端会收到[close](#section169378107484)事件的回调。 使用WebSocket建立服务器与客户端的双向连接,需要先通过[createWebSocket](#webSocketcreatewebsocket)方法创建[WebSocket](#websocket)对象,然后通过[connect](#connect)方法连接到服务器。当连接成功后,客户端会收到[open](#onopen)事件的回调,之后客户端就可以通过[send](#send)方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到[message](#onmessage)事件的回调。当客户端不要此连接时,可以通过调用[close](#close)方法主动断开连接,之后客户端会收到[close](#onclose)事件的回调。
若在上述任一过程中发生错误,客户端会收到[error](#section2997161484815)事件的回调。 若在上述任一过程中发生错误,客户端会收到[error](#onerror)事件的回调。
## 导入模块<a name="s56d19203690d4782bfc74069abb6bd71"></a> ## 导入模块
``` ```
import webSocket from '@ohos.net.webSocket'; import webSocket from '@ohos.net.webSocket';
``` ```
## 权限列表<a name="section11257113618419"></a> ## 完整示例
需要ohos.permission.INTERNET权限。
## 完整示例<a name="section20761171275912"></a>
``` ```
import webSocket from '@ohos.net.webSocket'; import webSocket from '@ohos.net.webSocket';
...@@ -92,7 +62,7 @@ ws.connect(defaultIpAddress, (err, value) => { ...@@ -92,7 +62,7 @@ ws.connect(defaultIpAddress, (err, value) => {
}); });
``` ```
## webSocket.createWebSocket<a name="section375081875219"></a> ## webSocket.createWebSocket
createWebSocket\(\): WebSocket createWebSocket\(\): WebSocket
...@@ -102,7 +72,7 @@ createWebSocket\(\): WebSocket ...@@ -102,7 +72,7 @@ createWebSocket\(\): WebSocket
| 类型 | 说明 | | 类型 | 说明 |
| :---------------------------------- | :----------------------------------------------------------- | | :---------------------------------- | :----------------------------------------------------------- |
| [WebSocket](#section16411174314593) | 返回一个WebSocket对象,里面包括connect、send、close、on和off方法。 | | [WebSocket](#websocket) | 返回一个WebSocket对象,里面包括connect、send、close、on和off方法。 |
**示例:** **示例:**
...@@ -111,16 +81,18 @@ let ws = webSocket.createWebSocket(); ...@@ -111,16 +81,18 @@ let ws = webSocket.createWebSocket();
``` ```
## WebSocket<a name="section16411174314593"></a> ## WebSocket
在调用WebSocket的方法前,需要先通过[webSocket.createWebSocket](#section375081875219)创建一个WebSocket。 在调用WebSocket的方法前,需要先通过[webSocket.createWebSocket](#webSocketcreatewebsocket)创建一个WebSocket。
### connect<a name="section1377525513113"></a> ### connect
connect\(url: string, callback: AsyncCallback<boolean\>\): void connect\(url: string, callback: AsyncCallback<boolean\>\): void
根据URL地址,建立一个WebSocket连接,使用callback方式作为异步方法。 根据URL地址,建立一个WebSocket连接,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -144,18 +116,20 @@ ws.connect(url, (err, value) => { ...@@ -144,18 +116,20 @@ ws.connect(url, (err, value) => {
``` ```
### connect<a name="section18952991528"></a> ### connect
connect\(url: string, options: WebSocketRequestOptions, callback: AsyncCallback<boolean\>\): void connect\(url: string, options: WebSocketRequestOptions, callback: AsyncCallback<boolean\>\): void
根据URL地址和header,建立一个WebSocket连接,使用callback方式作为异步方法。 根据URL地址和header,建立一个WebSocket连接,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------------------------------------- | | -------- | ------------------------ | ---- | ------------------------------------------------------- |
| url | string | 是 | 建立WebSocket连接的URL地址。 | | url | string | 是 | 建立WebSocket连接的URL地址。 |
| options | WebSocketRequestOptions | 是 | 参考[WebSocketRequestOptions](#section11251233123910)。 | | options | WebSocketRequestOptions | 是 | 参考[WebSocketRequestOptions](#websocketrequestoptions)。 |
| callback | AsyncCallback\<boolean\> | 是 | 回调函数。 | | callback | AsyncCallback\<boolean\> | 是 | 回调函数。 |
...@@ -179,18 +153,20 @@ ws.connect(url, { ...@@ -179,18 +153,20 @@ ws.connect(url, {
``` ```
### connect<a name="section10573126422"></a> ### connect
connect\(url: string, options?: WebSocketRequestOptions\): Promise<boolean\> connect\(url: string, options?: WebSocketRequestOptions\): Promise<boolean\>
根据URL地址和header,建立一个WebSocket连接,使用Promise方式作为异步方法。 根据URL地址和header,建立一个WebSocket连接,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------- | ---- | ------------------------------------------------------- | | ------- | ----------------------- | ---- | ------------------------------------------------------- |
| url | string | 是 | 建立WebSocket连接的URL地址。 | | url | string | 是 | 建立WebSocket连接的URL地址。 |
| options | WebSocketRequestOptions | 否 | 参考[WebSocketRequestOptions](#section11251233123910)。 | | options | WebSocketRequestOptions | 否 | 参考[WebSocketRequestOptions](#websocketrequestoptions)。 |
**返回值:** **返回值:**
...@@ -212,12 +188,14 @@ promise.then((value) => { ...@@ -212,12 +188,14 @@ promise.then((value) => {
``` ```
### send<a name="section156451414213"></a> ### send
send\(data: string | ArrayBuffer, callback: AsyncCallback<boolean\>\): void send\(data: string | ArrayBuffer, callback: AsyncCallback<boolean\>\): void
通过WebSocket连接发送数据,使用callback方式作为异步方法。 通过WebSocket连接发送数据,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -242,12 +220,14 @@ ws.connect(url, (err, value) => { ...@@ -242,12 +220,14 @@ ws.connect(url, (err, value) => {
``` ```
### send<a name="section137609541324"></a> ### send
send\(data: string | ArrayBuffer\): Promise<boolean\> send\(data: string | ArrayBuffer\): Promise<boolean\>
通过WebSocket连接发送数据,使用Promise方式作为异步方法。 通过WebSocket连接发送数据,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -276,12 +256,14 @@ ws.connect(url, (err, value) => { ...@@ -276,12 +256,14 @@ ws.connect(url, (err, value) => {
``` ```
### close<a name="section202411451433"></a> ### close
close\(callback: AsyncCallback<boolean\>\): void close\(callback: AsyncCallback<boolean\>\): void
关闭WebSocket连接,使用callback方式作为异步方法。 关闭WebSocket连接,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -303,17 +285,19 @@ ws.close((err, value) => { ...@@ -303,17 +285,19 @@ ws.close((err, value) => {
``` ```
### close<a name="section10491513437"></a> ### close
close\(options: WebSocketCloseOptions, callback: AsyncCallback<boolean\>\): void close\(options: WebSocketCloseOptions, callback: AsyncCallback<boolean\>\): void
根据可选参数code和reason,关闭WebSocket连接,使用callback方式作为异步方法。 根据可选参数code和reason,关闭WebSocket连接,使用callback方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ----------------------------------------------------- | | -------- | ------------------------ | ---- | ----------------------------------------------------- |
| options | WebSocketCloseOptions | 是 | 参考[WebSocketCloseOptions](#section12262183471518)。 | | options | WebSocketCloseOptions | 是 | 参考[WebSocketCloseOptions](#websocketcloseoptions)。 |
| callback | AsyncCallback\<boolean\> | 是 | 回调函数。 | | callback | AsyncCallback\<boolean\> | 是 | 回调函数。 |
**示例:** **示例:**
...@@ -334,17 +318,19 @@ ws.close({ ...@@ -334,17 +318,19 @@ ws.close({
``` ```
### close<a name="section118451219536"></a> ### close
close\(options?: WebSocketCloseOptions\): Promise<boolean\> close\(options?: WebSocketCloseOptions\): Promise<boolean\>
根据可选参数code和reason,关闭WebSocket连接,使用Promise方式作为异步方法。 根据可选参数code和reason,关闭WebSocket连接,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.INTERNET
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------- | ---- | ----------------------------------------------------- | | ------- | --------------------- | ---- | ----------------------------------------------------- |
| options | WebSocketCloseOptions | 否 | 参考[WebSocketCloseOptions](#section12262183471518)。 | | options | WebSocketCloseOptions | 否 | 参考[WebSocketCloseOptions](#websocketcloseoptions)。 |
**返回值:** **返回值:**
...@@ -369,7 +355,7 @@ promise.then((value) => { ...@@ -369,7 +355,7 @@ promise.then((value) => {
``` ```
### on\('open'\)<a name="section923017271834"></a> ### on\('open'\)
on\(type: 'open', callback: AsyncCallback<Object\>\): void on\(type: 'open', callback: AsyncCallback<Object\>\): void
...@@ -393,7 +379,7 @@ ws.on('open', (err, value) => { ...@@ -393,7 +379,7 @@ ws.on('open', (err, value) => {
``` ```
### off\('open'\)<a name="section207051331730"></a> ### off\('open'\)
off\(type: 'open', callback?: AsyncCallback<Object\>\): void off\(type: 'open', callback?: AsyncCallback<Object\>\): void
...@@ -422,7 +408,7 @@ ws.off('open', callback1); ...@@ -422,7 +408,7 @@ ws.off('open', callback1);
``` ```
### on\('message'\)<a name="section1066819418488"></a> ### on\('message'\)
on\(type: 'message', callback: AsyncCallback<string | ArrayBuffer\>\): void on\(type: 'message', callback: AsyncCallback<string | ArrayBuffer\>\): void
...@@ -449,7 +435,7 @@ ws.on('message', (err, value) => { ...@@ -449,7 +435,7 @@ ws.on('message', (err, value) => {
``` ```
### off\('message'\)<a name="section1467019413484"></a> ### off\('message'\)
off\(type: 'message', callback?: AsyncCallback<string | ArrayBuffer\>\): void off\(type: 'message', callback?: AsyncCallback<string | ArrayBuffer\>\): void
...@@ -474,7 +460,7 @@ ws.off('message'); ...@@ -474,7 +460,7 @@ ws.off('message');
``` ```
### on\('close'\)<a name="section169378107484"></a> ### on\('close'\)
on\(type: 'close', callback: AsyncCallback<\{ code: number, reason: string \}\>\): void on\(type: 'close', callback: AsyncCallback<\{ code: number, reason: string \}\>\): void
...@@ -497,7 +483,7 @@ ws.on('close', (err, value) => { ...@@ -497,7 +483,7 @@ ws.on('close', (err, value) => {
``` ```
### off\('close'\)<a name="section993911074812"></a> ### off\('close'\)
off\(type: 'close', callback?: AsyncCallback<\{ code: number, reason: string \}\>\): void off\(type: 'close', callback?: AsyncCallback<\{ code: number, reason: string \}\>\): void
...@@ -522,7 +508,7 @@ ws.off('close'); ...@@ -522,7 +508,7 @@ ws.off('close');
``` ```
### on\('error'\)<a name="section2997161484815"></a> ### on\('error'\)
on\(type: 'error', callback: ErrorCallback\): void on\(type: 'error', callback: ErrorCallback\): void
...@@ -546,7 +532,7 @@ ws.on('error', (err) => { ...@@ -546,7 +532,7 @@ ws.on('error', (err) => {
``` ```
### off\('error'\)<a name="section13999114164815"></a> ### off\('error'\)
off\(type: 'error', callback?: ErrorCallback\): void off\(type: 'error', callback?: ErrorCallback\): void
...@@ -570,7 +556,7 @@ ws.off('error'); ...@@ -570,7 +556,7 @@ ws.off('error');
``` ```
## WebSocketRequestOptions<a name="section11251233123910"></a> ## WebSocketRequestOptions
建立WebSocket连接时,可选参数的类型和说明。 建立WebSocket连接时,可选参数的类型和说明。
...@@ -579,7 +565,7 @@ ws.off('error'); ...@@ -579,7 +565,7 @@ ws.off('error');
| header | Object | 否 | 建立WebSocket连接可选参数,代表建立连接时携带的HTTP头信息。参数内容自定义,也可以不指定。 | | header | Object | 否 | 建立WebSocket连接可选参数,代表建立连接时携带的HTTP头信息。参数内容自定义,也可以不指定。 |
## WebSocketCloseOptions<a name="section12262183471518"></a> ## WebSocketCloseOptions
关闭WebSocket连接时,可选参数的类型和说明。 关闭WebSocket连接时,可选参数的类型和说明。
...@@ -588,7 +574,7 @@ ws.off('error'); ...@@ -588,7 +574,7 @@ ws.off('error');
| code | number | 否 | 错误码,关闭WebSocket连接时的可选参数,可根据实际情况来填。默认值为1000。 | | code | number | 否 | 错误码,关闭WebSocket连接时的可选参数,可根据实际情况来填。默认值为1000。 |
| reason | string | 否 | 原因值,关闭WebSocket连接时的可选参数,可根据实际情况来填。默认值为空字符串("")。 | | reason | string | 否 | 原因值,关闭WebSocket连接时的可选参数,可根据实际情况来填。默认值为空字符串("")。 |
## close错误码说明<a name="section1635681416477"></a> ## close错误码说明
发送给服务端的错误码可以自行定义,下面的列表仅供参考。 发送给服务端的错误码可以自行定义,下面的列表仅供参考。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册