Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c9d59d42
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c9d59d42
编写于
4月 15, 2023
作者:
O
openharmony_ci
提交者:
Gitee
4月 15, 2023
浏览文件
操作
浏览文件
下载
差异文件
!17292 Update net docs
Merge pull request !17292 from Yangys/OpenHarmony-3.2-Release
上级
b8782c1b
475eee58
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
1185 addition
and
1130 deletion
+1185
-1130
zh-cn/application-dev/connectivity/http-request.md
zh-cn/application-dev/connectivity/http-request.md
+34
-34
zh-cn/application-dev/connectivity/net-sharing.md
zh-cn/application-dev/connectivity/net-sharing.md
+63
-56
zh-cn/application-dev/connectivity/socket-connection.md
zh-cn/application-dev/connectivity/socket-connection.md
+133
-134
zh-cn/application-dev/connectivity/websocket-connection.md
zh-cn/application-dev/connectivity/websocket-connection.md
+48
-48
zh-cn/application-dev/reference/apis/js-apis-http.md
zh-cn/application-dev/reference/apis/js-apis-http.md
+95
-92
zh-cn/application-dev/reference/apis/js-apis-net-connection.md
.../application-dev/reference/apis/js-apis-net-connection.md
+193
-190
zh-cn/application-dev/reference/apis/js-apis-net-ethernet.md
zh-cn/application-dev/reference/apis/js-apis-net-ethernet.md
+127
-59
zh-cn/application-dev/reference/apis/js-apis-net-policy.md
zh-cn/application-dev/reference/apis/js-apis-net-policy.md
+117
-95
zh-cn/application-dev/reference/apis/js-apis-net-sharing.md
zh-cn/application-dev/reference/apis/js-apis-net-sharing.md
+67
-57
zh-cn/application-dev/reference/apis/js-apis-socket.md
zh-cn/application-dev/reference/apis/js-apis-socket.md
+201
-250
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
+107
-115
未找到文件。
zh-cn/application-dev/connectivity/http-request.md
浏览文件 @
c9d59d42
...
...
@@ -45,8 +45,7 @@ httpRequest.on('headersReceive', (header) => {
console
.
info
(
'
header:
'
+
JSON
.
stringify
(
header
));
});
httpRequest
.
request
(
// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"
EXAMPLE_URL
"
,
// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定"EXAMPLE_URL",
{
method
:
http
.
RequestMethod
.
POST
,
// 可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
...
...
@@ -83,6 +82,7 @@ httpRequest.request(
```
## 相关实例
针对HTTP数据请求,有以下相关实例可供参考:
-
[
使用HTTP实现与服务端通信(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/NetworkManagement/SmartChatEtsOH
)
\ No newline at end of file
zh-cn/application-dev/connectivity/net-sharing.md
浏览文件 @
c9d59d42
# 网络共享
## 简介
网络共享管理分享设备已有网络给其他连接设备,支持Wi-Fi热点共享、蓝牙共享和USB共享,同时提供网络共享状态、共享流量查询功能。
> **说明:**
> 为了保证应用的运行效率,大部分API调用都是异步的,对于异步调用的API均提供了callback和Promise两种方式,以下示例均采用callback函数,更多方式可以查阅[API参考](../reference/apis/js-apis-net-sharing.md)。
## 基本概念
-
WIFI共享:通过WIFI热点共享网络。
-
蓝牙共享:通过蓝牙共享网络。
-
USB共享:通过USB共享网络。
## 约束
-
开发语言:C++ JS
-
系统:linux内核
-
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 场景介绍
网络共享的典型场景有:
-
开启网络共享
-
停止网络共享
-
获取共享网络的数据流量
以下分别介绍具体开发方式。
## 接口说明
完整的JS API说明以及实例代码请参考:
[
网络共享
](
../reference/apis/js-apis-net-sharing.md
)
。
| 类型 | 接口 | 功能说明 |
...
...
@@ -54,18 +61,18 @@
```
js
// 从@ohos.net.sharing中导入sharing命名空间
import
sharing
from
'
@ohos.net.sharing
'
import
sharing
from
'
@ohos.net.sharing
'
// 注册监听共享状态的改变
sharing
.
on
(
'
sharingStateChange
'
,
(
error
,
data
)
=>
{
// 注册监听共享状态的改变
sharing
.
on
(
'
sharingStateChange
'
,
(
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
});
});
// 调用startSharing方法,来开启指定类型共享
sharing
.
startSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
// 调用startSharing方法,来开启指定类型共享
sharing
.
startSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
});
```
## 停止网络共享
...
...
@@ -79,18 +86,18 @@
```
js
// 从@ohos.net.sharing中导入sharing命名空间
import
sharing
from
'
@ohos.net.sharing
'
import
sharing
from
'
@ohos.net.sharing
'
// 注册监听共享状态的改变
sharing
.
on
(
'
sharingStateChange
'
,
(
error
,
data
)
=>
{
// 注册监听共享状态的改变
sharing
.
on
(
'
sharingStateChange
'
,
(
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
});
});
// 调用stopSharing方法,来停止指定类型共享
sharing
.
stopSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
// 调用stopSharing方法,来停止指定类型共享
sharing
.
stopSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
});
```
## 获取共享网络的数据流量
...
...
@@ -104,27 +111,27 @@
```
js
// 从@ohos.net.sharing中导入sharing命名空间
import
sharing
from
'
@ohos.net.sharing
'
import
sharing
from
'
@ohos.net.sharing
'
// 调用startSharing方法,来开启指定类型共享
sharing
.
startSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
// 调用startSharing方法,来开启指定类型共享
sharing
.
startSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
});
// 调用getStatsTotalBytes方法,来获取共享网络数据量
sharing
.
getStatsTotalBytes
((
error
,
data
)
=>
{
// 调用getStatsTotalBytes方法,来获取共享网络数据量
sharing
.
getStatsTotalBytes
((
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
});
});
// 调用stopSharing方法,来停止指定类型共享,共享网络数据量清零
sharing
.
stopSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
// 调用stopSharing方法,来停止指定类型共享,共享网络数据量清零
sharing
.
stopSharing
(
sharing
.
SharingIfaceType
.
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
});
// 再次调用getStatsTotalBytes方法,共享网络数据量已清零
sharing
.
getStatsTotalBytes
((
error
,
data
)
=>
{
// 再次调用getStatsTotalBytes方法,共享网络数据量已清零
sharing
.
getStatsTotalBytes
((
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
});
});
```
zh-cn/application-dev/connectivity/socket-connection.md
浏览文件 @
c9d59d42
...
...
@@ -184,13 +184,11 @@ UDP与TCP流程大体类似,下面以TCP为例:
7.
TLSSocket连接使用完毕后,主动关闭。
```
js
import
socket
from
'
@ohos.net.socket
'
// 创建一个(双向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsTwoWay
=
socket
.
constructTLSSocketInstance
();
// 创建一个(双向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsTwoWay
=
socket
.
constructTLSSocketInstance
();
// 订阅TLS Socket相关的订阅事件
tlsTwoWay
.
on
(
'
message
'
,
value
=>
{
// 订阅TLS Socket相关的订阅事件
tlsTwoWay
.
on
(
'
message
'
,
value
=>
{
console
.
log
(
"
on message
"
)
let
buffer
=
value
.
message
let
dataView
=
new
DataView
(
buffer
)
...
...
@@ -199,25 +197,25 @@ UDP与TCP流程大体类似,下面以TCP为例:
str
+=
String
.
fromCharCode
(
dataView
.
getUint8
(
i
))
}
console
.
log
(
"
on connect received:
"
+
str
)
});
tlsTwoWay
.
on
(
'
connect
'
,
()
=>
{
});
tlsTwoWay
.
on
(
'
connect
'
,
()
=>
{
console
.
log
(
"
on connect
"
)
});
tlsTwoWay
.
on
(
'
close
'
,
()
=>
{
});
tlsTwoWay
.
on
(
'
close
'
,
()
=>
{
console
.
log
(
"
on close
"
)
});
});
// 绑定本地IP地址和端口。
tlsTwoWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
// 绑定本地IP地址和端口。
tlsTwoWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
console
.
log
(
'
bind success
'
);
});
});
// 设置通信过程中使用参数
let
options
=
{
// 设置通信过程中使用参数
let
options
=
{
ALPNProtocols
:
[
"
spdy/1
"
,
"
http/1.1
"
],
// 连接到指定的IP地址和端口。
...
...
@@ -238,16 +236,16 @@ UDP与TCP流程大体类似,下面以TCP为例:
signatureAlgorithms
:
"
rsa_pss_rsae_sha256:ECDSA+SHA256
"
,
// 签名算法
cipherSuite
:
"
AES256-SHA256
"
,
// 密码套件
},
};
};
// 建立连接
tlsTwoWay
.
connect
(
options
,
(
err
,
data
)
=>
{
// 建立连接
tlsTwoWay
.
connect
(
options
,
(
err
,
data
)
=>
{
console
.
error
(
err
);
console
.
log
(
data
);
});
});
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tlsTwoWay
.
close
((
err
)
=>
{
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tlsTwoWay
.
close
((
err
)
=>
{
if
(
err
)
{
console
.
log
(
"
close callback error =
"
+
err
);
}
else
{
...
...
@@ -256,59 +254,59 @@ UDP与TCP流程大体类似,下面以TCP为例:
tlsTwoWay
.
off
(
'
message
'
);
tlsTwoWay
.
off
(
'
connect
'
);
tlsTwoWay
.
off
(
'
close
'
);
});
});
// 创建一个(单向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsOneWay
=
socket
.
constructTLSSocketInstance
();
// One way authentication
// 创建一个(单向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsOneWay
=
socket
.
constructTLSSocketInstance
();
// One way authentication
// 订阅TLS Socket相关的订阅事件
tlsTwoWay
.
on
(
'
message
'
,
value
=>
{
// 订阅TLS Socket相关的订阅事件
tlsTwoWay
.
on
(
'
message
'
,
value
=>
{
console
.
log
(
"
on message
"
)
let
buffer
=
value
.
message
let
dataView
=
new
DataView
(
buffer
)
let
str
=
""
for
(
let
i
=
0
;
i
<
dataView
.
byteLength
;
++
i
)
{
for
(
let
i
=
0
;
i
<
dataView
.
byteLength
;
++
i
)
{
str
+=
String
.
fromCharCode
(
dataView
.
getUint8
(
i
))
}
console
.
log
(
"
on connect received:
"
+
str
)
});
tlsTwoWay
.
on
(
'
connect
'
,
()
=>
{
});
tlsTwoWay
.
on
(
'
connect
'
,
()
=>
{
console
.
log
(
"
on connect
"
)
});
tlsTwoWay
.
on
(
'
close
'
,
()
=>
{
});
tlsTwoWay
.
on
(
'
close
'
,
()
=>
{
console
.
log
(
"
on close
"
)
});
});
// 绑定本地IP地址和端口。
tlsOneWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
// 绑定本地IP地址和端口。
tlsOneWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
console
.
log
(
'
bind success
'
);
});
});
// 设置通信过程中使用参数
let
oneWayOptions
=
{
// 设置通信过程中使用参数
let
oneWayOptions
=
{
address
:
{
address
:
"
192.168.xxx.xxx
"
,
port
:
xxxx
,
family
:
1
,
},
secureOptions
:
{
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
// CA证书
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
// CA证书
cipherSuite
:
"
AES256-SHA256
"
,
// 密码套件
},
};
};
// 建立连接
tlsOneWay
.
connect
(
oneWayOptions
,
(
err
,
data
)
=>
{
// 建立连接
tlsOneWay
.
connect
(
oneWayOptions
,
(
err
,
data
)
=>
{
console
.
error
(
err
);
console
.
log
(
data
);
});
});
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tlsTwoWay
.
close
((
err
)
=>
{
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tlsTwoWay
.
close
((
err
)
=>
{
if
(
err
)
{
console
.
log
(
"
close callback error =
"
+
err
);
}
else
{
...
...
@@ -317,12 +315,13 @@ UDP与TCP流程大体类似,下面以TCP为例:
tlsTwoWay
.
off
(
'
message
'
);
tlsTwoWay
.
off
(
'
connect
'
);
tlsTwoWay
.
off
(
'
close
'
);
});
});
```
## 相关实例
针对Socket连接开发,有以下相关实例可供参考:
-
[
`Socket`:Socket 连接(ArkTS)(API9)
](
https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/Network/Socket
)
-
[
使用UDP实现与服务端通信(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/NetworkManagement/UdpDemoOH
)
-
[
使用TCP实现与服务端通信(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/NetworkManagement/TcpSocketDemo
)
zh-cn/application-dev/connectivity/websocket-connection.md
浏览文件 @
c9d59d42
# WebSocket连接
## 场景介绍
使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。当连接成功后,客户端会收到open事件的回调,之后客户端就可以通过send()方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到message事件的回调。当客户端不要此连接时,可以通过调用close()方法主动断开连接,之后客户端会收到close事件的回调。
使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。
当连接成功后,客户端会收到open事件的回调,之后客户端就可以通过send()方法与服务器进行通信。
当服务器发信息给客户端时,客户端会收到message事件的回调。当客户端不要此连接时,可以通过调用close()方法主动断开连接,之后客户端会收到close事件的回调。
若在上述任一过程中发生错误,客户端会收到error事件的回调。
## 接口说明
WebSocket连接功能主要由webSocket模块提供。使用该功能需要申请ohos.permission.INTERNET权限。具体接口说明如下表。
...
...
@@ -27,7 +27,6 @@ WebSocket连接功能主要由webSocket模块提供。使用该功能需要申
| on(type: 'error') | 订阅WebSocket的Error事件。 |
| off(type: 'error') | 取消订阅WebSocket的Error事件。 |
## 开发步骤
1.
导入需要的webSocket模块。
...
...
@@ -40,12 +39,12 @@ WebSocket连接功能主要由webSocket模块提供。使用该功能需要申
5.
使用完WebSocket连接之后,主动断开连接。
```
js
import
webSocket
from
'
@ohos.net.webSocket
'
;
```
js
import
webSocket
from
'
@ohos.net.webSocket
'
;
var
defaultIpAddress
=
"
ws://
"
;
let
ws
=
webSocket
.
createWebSocket
();
ws
.
on
(
'
open
'
,
(
err
,
value
)
=>
{
var
defaultIpAddress
=
"
ws://
"
;
let
ws
=
webSocket
.
createWebSocket
();
ws
.
on
(
'
open
'
,
(
err
,
value
)
=>
{
console
.
log
(
"
on open, status:
"
+
JSON
.
stringify
(
value
));
// 当收到on('open')事件时,可以通过send()方法与服务器进行通信
ws
.
send
(
"
Hello, server!
"
,
(
err
,
value
)
=>
{
...
...
@@ -55,8 +54,8 @@ WebSocket连接功能主要由webSocket模块提供。使用该功能需要申
console
.
log
(
"
Failed to send the message. Err:
"
+
JSON
.
stringify
(
err
));
}
});
});
ws
.
on
(
'
message
'
,
(
err
,
value
)
=>
{
});
ws
.
on
(
'
message
'
,
(
err
,
value
)
=>
{
console
.
log
(
"
on message, message:
"
+
value
);
// 当收到服务器的`bye`消息时(此消息字段仅为示意,具体字段需要与服务器协商),主动断开连接
if
(
value
===
'
bye
'
)
{
...
...
@@ -68,23 +67,24 @@ WebSocket连接功能主要由webSocket模块提供。使用该功能需要申
}
});
}
});
ws
.
on
(
'
close
'
,
(
err
,
value
)
=>
{
});
ws
.
on
(
'
close
'
,
(
err
,
value
)
=>
{
console
.
log
(
"
on close, code is
"
+
value
.
code
+
"
, reason is
"
+
value
.
reason
);
});
ws
.
on
(
'
error
'
,
(
err
)
=>
{
});
ws
.
on
(
'
error
'
,
(
err
)
=>
{
console
.
log
(
"
on error, error:
"
+
JSON
.
stringify
(
err
));
});
ws
.
connect
(
defaultIpAddress
,
(
err
,
value
)
=>
{
});
ws
.
connect
(
defaultIpAddress
,
(
err
,
value
)
=>
{
if
(
!
err
)
{
console
.
log
(
"
Connected successfully
"
);
}
else
{
console
.
log
(
"
Connection failed. Err:
"
+
JSON
.
stringify
(
err
));
}
});
```
});
```
## 相关实例
针对WebSocket连接的开发,有以下相关实例可供参考:
-
[
`WebSocket`:WebSocket(ArkTS)(API9)
](
https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/Network/WebSocket
)
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-http.md
浏览文件 @
c9d59d42
...
...
@@ -2,7 +2,7 @@
本模块提供HTTP数据请求能力。应用可以通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。
>**说明:**
>
**说明:**
>
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
...
...
@@ -82,6 +82,7 @@ createHttp(): HttpRequest
```
js
import
http
from
'
@ohos.net.http
'
;
let
httpRequest
=
http
.
createHttp
();
```
...
...
@@ -95,8 +96,8 @@ request(url: string, callback: AsyncCallback\<HttpResponse\>):void
根据URL地址,发起HTTP网络请求,使用callback方式作为异步方法。
>**说明:**
>此接口仅支持数据大小为5M以内的数据传输。
>
**说明:**
>
此接口仅支持数据大小为5M以内的数据传输。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -121,7 +122,7 @@ request(url: string, callback: AsyncCallback\<HttpResponse\>):void
| 2300052 | Server returned nothing (no headers, no data). |
| 2300999 | Unknown Other Error. |
>**错误码说明:**
>
**错误码说明:**
> 以上错误码的详细介绍参见[HTTP错误码](../errorcodes/errorcode-net-http.md)。
> HTTP 错误码映射关系:2300000 + curl错误码。更多常用错误码,可参考:[curl错误码](https://curl.se/libcurl/c/libcurl-errors.html)
...
...
@@ -146,8 +147,8 @@ request(url: string, options: HttpRequestOptions, callback: AsyncCallback\<HttpR
根据URL地址和相关配置项,发起HTTP网络请求,使用callback方式作为异步方法。
>**说明:**
>此接口仅支持数据大小为5M以内的数据传输。
>
**说明:**
>
此接口仅支持数据大小为5M以内的数据传输。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -197,7 +198,7 @@ request(url: string, options: HttpRequestOptions, callback: AsyncCallback\<HttpR
| 2300094 | An authentication function returned an error. |
| 2300999 | Unknown Other Error. |
>**错误码说明:**
>
**错误码说明:**
> 以上错误码的详细介绍参见[HTTP错误码](../errorcodes/errorcode-net-http.md)。
> HTTP 错误码映射关系:2300000 + curl错误码。更多常用错误码,可参考:[curl错误码](https://curl.se/libcurl/c/libcurl-errors.html)
...
...
@@ -205,14 +206,14 @@ request(url: string, options: HttpRequestOptions, callback: AsyncCallback\<HttpR
```
js
httpRequest
.
request
(
"
EXAMPLE_URL
"
,
{
{
method
:
http
.
RequestMethod
.
GET
,
header
:
{
'
Content-Type
'
:
'
application/json
'
},
readTimeout
:
60000
,
connectTimeout
:
60000
},
(
err
,
data
)
=>
{
},
(
err
,
data
)
=>
{
if
(
!
err
)
{
console
.
info
(
'
Result:
'
+
data
.
result
);
console
.
info
(
'
code:
'
+
data
.
responseCode
);
...
...
@@ -223,7 +224,7 @@ httpRequest.request("EXAMPLE_URL",
}
else
{
console
.
info
(
'
error:
'
+
JSON
.
stringify
(
err
));
}
});
});
```
### request
...
...
@@ -232,8 +233,8 @@ request(url: string, options? : HttpRequestOptions): Promise\<HttpResponse\>
根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法。
>**说明:**
>此接口仅支持数据大小为5M以内的数据传输。
>
**说明:**
>
此接口仅支持数据大小为5M以内的数据传输。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -288,7 +289,7 @@ request(url: string, options? : HttpRequestOptions): Promise\<HttpResponse\>
| 2300094 | An authentication function returned an error. |
| 2300999 | Unknown Other Error. |
>**错误码说明:**
>
**错误码说明:**
> 以上错误码的详细介绍参见[HTTP错误码](../errorcodes/errorcode-net-http.md)。
> HTTP 错误码映射关系:2300000 + curl错误码。更多常用错误码,可参考:[curl错误码](https://curl.se/libcurl/c/libcurl-errors.html)
...
...
@@ -337,8 +338,8 @@ on(type: 'headerReceive', callback: AsyncCallback\<Object\>): void
订阅HTTP Response Header 事件。
>**说明:**
>此接口已废弃,建议使用[on('headersReceive')<sup>8+</sup>](#onheadersreceive8)替代。
>
**说明:**
>
此接口已废弃,建议使用[on('headersReceive')<sup>8+</sup>](#onheadersreceive8)替代。
**系统能力**:SystemCapability.Communication.NetStack
...
...
@@ -363,7 +364,7 @@ off(type: 'headerReceive', callback?: AsyncCallback\<Object\>): void
取消订阅HTTP Response Header 事件。
>**说明:**
>
**说明:**
>
>1. 此接口已废弃,建议使用[off('headersReceive')<sup>8+</sup>](#offheadersreceive8)替代。
>
...
...
@@ -413,8 +414,8 @@ off(type: 'headersReceive', callback?: Callback\<Object\>): void
取消订阅HTTP Response Header 事件。
>**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**:SystemCapability.Communication.NetStack
...
...
@@ -462,11 +463,11 @@ httpRequest.once('headersReceive', (header) => {
| 名称 | 类型 | 必填 | 说明 |
| -------------- | --------------------------------------------- | ---- | ------------------------------------------------------------ |
| method | [RequestMethod](#requestmethod) | 否 | 请求方式。 |
| extraData | string
\| Object \| ArrayBuffer<sup>6+</sup> | 否 | 发送请求的额外数据。<br />- 当HTTP请求为POST、PUT等方法时,此字段为HTTP请求的content。<br />- 当HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求的参数补充,参数内容会拼接到URL中进行发送。<sup>6+</sup><br />- 开发者传入string对象,开发者需要自行编码,将编码后的string传入
。<sup>6+</sup> |
| expectDataType<sup>9+</sup> | [HttpDataType](#httpdatatype9) | 否 | 指定返回数据的类型。如果设置了此参数,系统将优先返回指定的类型。 |
| method | [RequestMethod](#requestmethod) | 否 | 请求方式
,默认为GET
。 |
| extraData | string
<sup>6+</sup> \| Object<sup>6+</sup> \| ArrayBuffer<sup>8+</sup> | 否 | 发送请求的额外数据,默认无此字段。<br />- 当HTTP请求为POST、PUT等方法时,此字段为HTTP请求的content,以UTF-8编码形式作为请求体。<sup>6+</sup><br />- 当HTTP请求为GET、OPTIONS、DELETE、TRACE、CONNECT等方法时,此字段为HTTP请求参数的补充。开发者需传入Encode编码后的string类型参数,Object类型的参数无需预编码,参数内容会拼接到URL中进行发送;ArrayBuffer类型的参数不会做拼接处理
。<sup>6+</sup> |
| expectDataType<sup>9+</sup> | [HttpDataType](#httpdatatype9) | 否 | 指定返回数据的类型
,默认无此字段
。如果设置了此参数,系统将优先返回指定的类型。 |
| usingCache<sup>9+</sup> | boolean | 否 | 是否使用缓存,默认为true。 |
| priority<sup>9+</sup> | number | 否 | 优先级,范围\[
1,1000],默认是1
。 |
| priority<sup>9+</sup> | number | 否 | 优先级,范围\[
0,1000],默认是0
。 |
| header | Object | 否 | HTTP请求头字段。默认{'Content-Type': 'application/json'}。 |
| readTimeout | number | 否 | 读取超时时间。单位为毫秒(ms),默认为60000ms。 |
| connectTimeout | number | 否 | 连接超时时间。单位为毫秒(ms),默认为60000ms。 |
...
...
@@ -541,10 +542,10 @@ request方法回调函数的返回值类型。
| 名称 | 类型 | 必填 | 说明 |
| -------------------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| result | string
\| Object \| ArrayBuffer<sup>6
+</sup> | 是 | HTTP请求根据响应头中Content-type类型返回对应的响应格式内容:<br />- application/json:返回JSON格式的字符串,如需HTTP响应具体内容,需开发者自行解析<br />- application/octet-stream:ArrayBuffer<br />- 其他:string |
| result | string
<sup>6+</sup> \| Object<sup>deprecated 8+</sup> \| ArrayBuffer<sup>8
+</sup> | 是 | HTTP请求根据响应头中Content-type类型返回对应的响应格式内容:<br />- application/json:返回JSON格式的字符串,如需HTTP响应具体内容,需开发者自行解析<br />- application/octet-stream:ArrayBuffer<br />- 其他:string |
| resultType<sup>9+</sup> | [HttpDataType](#httpdatatype9) | 是 | 返回值类型。 |
| responseCode | [ResponseCode](#responsecode) \| number | 是 | 回调函数执行成功时,此字段为[ResponseCode](#responsecode)。若执行失败,错误码将会从AsyncCallback中的err字段返回。 |
| 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['S
erver']; |
| 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['s
erver']; |
| cookies<sup>8+</sup> | string | 是 | 服务器返回的 cookies。 |
## http.createHttpResponseCache<sup>9+</sup>
...
...
@@ -571,6 +572,7 @@ createHttpResponseCache(cacheSize?: number): HttpResponseCache
```
js
import http from '@ohos.net.http';
let httpResponseCache = http.createHttpResponseCache();
```
...
...
@@ -653,6 +655,7 @@ httpResponseCache.delete(err => {
console.info('delete success');
});
```
### delete<sup>9+</sup>
delete(): Promise\<void\>
...
...
zh-cn/application-dev/reference/apis/js-apis-net-connection.md
浏览文件 @
c9d59d42
...
...
@@ -10,6 +10,7 @@
```
js
import
connection
from
'
@ohos.net.connection
'
```
## connection.createNetConnection
createNetConnection(netSpecifier?: NetSpecifier, timeout?: number): NetConnection
...
...
@@ -34,10 +35,10 @@ createNetConnection(netSpecifier?: NetSpecifier, timeout?: number): NetConnectio
**示例:**
```
js
// 关注默认网络
// 关注默认网络
, 不需要传参
let
netConnection
=
connection
.
createNetConnection
()
// 关注蜂窝网络
// 关注蜂窝网络
,需要传入相关网络特征,timeout参数未传入说明未使用超时时间,此时timeout为0
let
netConnectionCellular
=
connection
.
createNetConnection
({
netCapabilities
:
{
bearerTypes
:
[
connection
.
NetBearType
.
BEARER_CELLULAR
]
...
...
@@ -164,7 +165,7 @@ getAppNet(callback: AsyncCallback\<NetHandle>): void
**示例:**
```
js
connection
.
getAppNet
(
function
(
error
,
data
)
{
connection
.
getAppNet
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -774,8 +775,7 @@ connection.disableAirplaneMode().then(function (error) {
reportNetConnected(netHandle: NetHandle, callback: AsyncCallback
<
void
>
): void
向网络管理报告网络处于可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。
使用callback方式作为异步方法。
向网络管理报告网络处于可用状态,使用callback方式作为异步方法。
**需要权限**
:ohos.permission.GET_NETWORK_INFO 和 ohos.permission.INTERNET
...
...
@@ -812,8 +812,7 @@ connection.getDefaultNet().then(function (netHandle) {
reportNetConnected(netHandle: NetHandle): Promise
<
void
>
向网络管理报告网络处于可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。
使用Promise方式作为异步方法。
向网络管理报告网络处于可用状态,使用Promise方式作为异步方法。
**需要权限**
:ohos.permission.GET_NETWORK_INFO 和 ohos.permission.INTERNET
...
...
@@ -854,8 +853,7 @@ connection.getDefaultNet().then(function (netHandle) {
reportNetDisconnected(netHandle: NetHandle, callback: AsyncCallback
<
void
>
): void
向网络管理报告网络处于不可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。
使用callback方式作为异步方法。
向网络管理报告网络处于不可用状态,使用callback方式作为异步方法。
**需要权限**
:ohos.permission.GET_NETWORK_INFO 和 ohos.permission.INTERNET
...
...
@@ -892,8 +890,7 @@ connection.getDefaultNet().then(function (netHandle) {
reportNetDisconnected(netHandle: NetHandle): Promise
<
void
>
向网络管理报告网络处于不可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。
使用Promise方式作为异步方法。
向网络管理报告网络处于不可用状态,使用Promise方式作为异步方法。
**需要权限**
:ohos.permission.GET_NETWORK_INFO 和 ohos.permission.INTERNET
...
...
@@ -1038,7 +1035,6 @@ register(callback: AsyncCallback\<void>): void
| 2101008 | The callback is not exists. |
| 2101022 | The number of requests exceeded the maximum. |
**示例:**
```
js
...
...
@@ -1196,7 +1192,8 @@ netCon.unregister(function (error) {
### on('netConnectionPropertiesChange')
on(type: 'netConnectionPropertiesChange', callback: Callback
<
{
netHandle:
NetHandle
,
connectionProperties:
ConnectionProperties
}
>
): void
on(type: 'netConnectionPropertiesChange', callback: Callback<{ netHandle: NetHandle, connectionProperties:
ConnectionProperties }>): void
订阅网络连接信息变化事件。
...
...
@@ -1353,6 +1350,7 @@ bindSocket(socketParam: TCPSocket \| UDPSocket, callback: AsyncCallback\<void>):
```
js
import
socket
from
"
@ohos.net.socket
"
;
connection
.
getDefaultNet
().
then
((
netHandle
)
=>
{
var
tcp
=
socket
.
constructTCPSocketInstance
();
var
udp
=
socket
.
constructUDPSocketInstance
();
...
...
@@ -1363,6 +1361,7 @@ connection.getDefaultNet().then((netHandle) => {
},
error
=>
{
if
(
error
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
netHandle
.
bindSocket
(
tcp
,
(
error
,
data
)
=>
{
if
(
error
)
{
...
...
@@ -1382,6 +1381,7 @@ connection.getDefaultNet().then((netHandle) => {
},
error
=>
{
if
(
error
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
udp
.
on
(
'
message
'
,
(
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
data
))
...
...
@@ -1431,6 +1431,7 @@ bindSocket(socketParam: TCPSocket \| UDPSocket): Promise\<void>;
```
js
import
socket
from
"
@ohos.net.socket
"
;
connection
.
getDefaultNet
().
then
((
netHandle
)
=>
{
var
tcp
=
socket
.
constructTCPSocketInstance
();
var
udp
=
socket
.
constructUDPSocketInstance
();
...
...
@@ -1441,6 +1442,7 @@ connection.getDefaultNet().then((netHandle) => {
},
error
=>
{
if
(
error
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
netHandle
.
bindSocket
(
tcp
).
then
((
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
data
));
...
...
@@ -1458,6 +1460,7 @@ connection.getDefaultNet().then((netHandle) => {
},
error
=>
{
if
(
error
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
udp
.
on
(
'
message
'
,
(
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
data
));
...
...
zh-cn/application-dev/reference/apis/js-apis-net-ethernet.md
浏览文件 @
c9d59d42
...
...
@@ -386,6 +386,74 @@ ethernet.getAllActiveIfaces().then((data) => {
});
```
## ethernet.on('interfaceStateChange')<sup>10+</sup>
on(type: 'interfaceStateChange', callback: Callback
\<
{ iface: string, active: boolean }
\>
): void
注册网卡热插拔事件,使用callback方式作为异步方法。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.GET_NETWORK_INFO
**系统能力**
:SystemCapability.Communication.NetManager.Ethernet
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| type | string | 是 | 订阅的事件类型,'interfaceStateChange'。 |
| callback | AsyncCallback
\<
{ iface: string, active: boolean }
\>
| 是 | 回调函数。
<br>
iface:网卡名称。
<br>
active:是否处于激活状态(true:激活;false:未激活) |
**错误码:**
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Applicable only to system applications. |
| 401 | Parameter error. |
**示例:**
```
js
ethernet
.
on
(
'
interfaceStateChange
'
,
(
data
)
=>
{
console
.
log
(
'
on interfaceSharingStateChange:
'
+
JSON
.
stringify
(
data
));
});
```
## ethernet.off('interfaceStateChange')<sup>10+</sup>
off(type: 'interfaceStateChange', callback?: Callback
\<
{ iface: string, active: boolean }
\>
): void
注销网卡热插拔事件,使用callback方式作为异步方法。
**系统接口**
:此接口为系统接口。
**需要权限**
:ohos.permission.GET_NETWORK_INFO
**系统能力**
:SystemCapability.Communication.NetManager.Ethernet
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| type | string | 是 | 订阅的事件类型,'interfaceStateChange'。 |
| callback | AsyncCallback
\<
{ iface: string, active: boolean }> | 否 | 回调函数。
<br>
iface:网卡名称。
<br>
active:是否处于激活状态(true:激活;false:未激活) |
**错误码:**
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Applicable only to system applications. |
| 401 | Parameter error. |
**示例:**
```
js
ethernet
.
off
(
'
interfaceStateChange
'
);
```
## InterfaceConfiguration
以太网连接配置网络信息。
...
...
zh-cn/application-dev/reference/apis/js-apis-net-policy.md
浏览文件 @
c9d59d42
...
...
@@ -46,7 +46,9 @@ policy.setBackgroundPolicy(Boolean(Number.parseInt(this.isBoolean))), (error, da
this
.
callBack
(
error
,
data
);
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
});
}
)
;
```
## policy.setBackgroundPolicy
...
...
@@ -84,7 +86,7 @@ setBackgroundPolicy(isAllowed: boolean): Promise\<void>
**示例:**
```
js
policy
.
setBackgroundPolicy
(
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
policy
.
setBackgroundPolicy
(
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -151,7 +153,7 @@ isBackgroundAllowed(): Promise\<boolean>;
**示例:**
```
js
policy
.
isBackgroundAllowed
().
then
(
function
(
error
,
data
)
{
policy
.
isBackgroundAllowed
().
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -236,7 +238,7 @@ setPolicyByUid(uid: number, policy: NetUidPolicy): Promise\<void>;
let
param
=
{
uid
:
Number
.
parseInt
(
this
.
firstParam
),
policy
:
Number
.
parseInt
(
this
.
currentNetUidPolicy
)
}
policy
.
setPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
),
Number
.
parseInt
(
this
.
currentNetUidPolicy
)).
then
(
function
(
error
,
data
)
{
policy
.
setPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
),
Number
.
parseInt
(
this
.
currentNetUidPolicy
)).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -313,7 +315,7 @@ getPolicyByUid(uid: number): Promise\<NetUidPolicy>;
**示例:**
```
js
policy
.
getPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
policy
.
getPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -390,7 +392,7 @@ function getUidsByPolicy(policy: NetUidPolicy): Promise\<Array\<number>>;
**示例:**
```
js
policy
.
getUidsByPolicy
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
policy
.
getUidsByPolicy
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -456,7 +458,7 @@ getNetQuotaPolicies(): Promise\<Array\<NetQuotaPolicy>>;
**示例:**
```
js
policy
.
getNetQuotaPolicies
().
then
(
function
(
error
,
data
)
{
policy
.
getNetQuotaPolicies
().
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -493,8 +495,18 @@ setNetQuotaPolicies(quotaPolicies: Array\<NetQuotaPolicy>, callback: AsyncCallba
**示例:**
```
js
let
param
=
{
netType
:
Number
.
parseInt
(
this
.
netType
),
iccid
:
this
.
iccid
,
ident
:
this
.
ident
,
periodDuration
:
this
.
periodDuration
,
warningBytes
:
Number
.
parseInt
(
this
.
warningBytes
),
limitBytes
:
Number
.
parseInt
(
this
.
limitBytes
),
lastWarningRemind
:
this
.
lastWarningRemind
,
lastLimitRemind
:
this
.
lastLimitRemind
,
metered
:
Boolean
(
Number
.
parseInt
(
this
.
metered
)),
limitAction
:
this
.
limitAction
};
let
param
=
{
netType
:
Number
.
parseInt
(
this
.
netType
),
iccid
:
this
.
iccid
,
ident
:
this
.
ident
,
periodDuration
:
this
.
periodDuration
,
warningBytes
:
Number
.
parseInt
(
this
.
warningBytes
),
limitBytes
:
Number
.
parseInt
(
this
.
limitBytes
),
lastWarningRemind
:
this
.
lastWarningRemind
,
lastLimitRemind
:
this
.
lastLimitRemind
,
metered
:
Boolean
(
Number
.
parseInt
(
this
.
metered
)),
limitAction
:
this
.
limitAction
};
this
.
netQuotaPolicyList
.
push
(
param
);
policy
.
setNetQuotaPolicies
(
this
.
netQuotaPolicyList
,
(
error
,
data
)
=>
{
...
...
@@ -537,11 +549,21 @@ setNetQuotaPolicies(quotaPolicies: Array\<NetQuotaPolicy>): Promise\<void>;
**示例:**
```
js
let
param
=
{
netType
:
Number
.
parseInt
(
this
.
netType
),
iccid
:
this
.
iccid
,
ident
:
this
.
ident
,
periodDuration
:
this
.
periodDuration
,
warningBytes
:
Number
.
parseInt
(
this
.
warningBytes
),
limitBytes
:
Number
.
parseInt
(
this
.
limitBytes
),
lastWarningRemind
:
this
.
lastWarningRemind
,
lastLimitRemind
:
this
.
lastLimitRemind
,
metered
:
Boolean
(
Number
.
parseInt
(
this
.
metered
)),
limitAction
:
this
.
limitAction
};
let
param
=
{
netType
:
Number
.
parseInt
(
this
.
netType
),
iccid
:
this
.
iccid
,
ident
:
this
.
ident
,
periodDuration
:
this
.
periodDuration
,
warningBytes
:
Number
.
parseInt
(
this
.
warningBytes
),
limitBytes
:
Number
.
parseInt
(
this
.
limitBytes
),
lastWarningRemind
:
this
.
lastWarningRemind
,
lastLimitRemind
:
this
.
lastLimitRemind
,
metered
:
Boolean
(
Number
.
parseInt
(
this
.
metered
)),
limitAction
:
this
.
limitAction
};
this
.
netQuotaPolicyList
.
push
(
param
);
policy
.
setNetQuotaPolicies
(
this
.
netQuotaPolicyList
).
then
(
function
(
error
,
data
)
{
policy
.
setNetQuotaPolicies
(
this
.
netQuotaPolicyList
).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -619,7 +641,7 @@ restoreAllPolicies(iccid: string): Promise\<void>;
```
js
this
.
firstParam
=
iccid
;
policy
.
restoreAllPolicies
(
this
.
firstParam
).
then
(
function
(
error
,
data
)
{
policy
.
restoreAllPolicies
(
this
.
firstParam
).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -706,7 +728,7 @@ isUidNetAllowed(uid: number, isMetered: boolean): Promise\<boolean>;
let
param
=
{
uid
:
Number
.
parseInt
(
this
.
firstParam
),
isMetered
:
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))
}
policy
.
isUidNetAllowed
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
policy
.
isUidNetAllowed
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -792,7 +814,7 @@ isUidNetAllowed(uid: number, iface: string): Promise\<boolean>;
let
param
=
{
uid
:
Number
.
parseInt
(
this
.
firstParam
),
iface
:
this
.
secondParam
}
policy
.
isUidNetAllowed
(
Number
.
parseInt
(
this
.
firstParam
),
this
.
secondParam
).
then
(
function
(
error
,
data
)
{
policy
.
isUidNetAllowed
(
Number
.
parseInt
(
this
.
firstParam
),
this
.
secondParam
).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -877,7 +899,7 @@ setDeviceIdleAllowList(uid: number, isAllowed: boolean): Promise\<void>;
let
param
=
{
uid
:
Number
.
parseInt
(
this
.
firstParam
),
isAllowed
:
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))
}
policy
.
setDeviceIdleAllowList
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
policy
.
setDeviceIdleAllowList
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -943,7 +965,7 @@ getDeviceIdleAllowList(): Promise\<Array\<number>>;
**示例:**
```
js
policy
.
getDeviceIdleAllowList
().
then
(
function
(
error
,
data
)
{
policy
.
getDeviceIdleAllowList
().
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -1021,7 +1043,7 @@ getBackgroundPolicyByUid(uid: number): Promise\<NetBackgroundPolicy>;
```
js
this
.
firstParam
=
uid
policy
.
getBackgroundPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
policy
.
getBackgroundPolicyByUid
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -1098,11 +1120,11 @@ resetPolicies(iccid: string): Promise\<void>;
**示例:**
```
js
policy
.
getUidsByPolicy
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
policy
.
getUidsByPolicy
(
Number
.
parseInt
(
this
.
firstParam
)).
then
(
function
(
error
,
data
)
{
})
this
.
firstParam
=
iccid
policy
.
resetPolicies
(
this
.
firstParam
).
then
(
function
(
error
,
data
)
{
policy
.
resetPolicies
(
this
.
firstParam
).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -1189,7 +1211,7 @@ updateRemindPolicy(netType: NetBearType, iccid: string, remindType: RemindType):
let
param
=
{
netType
:
Number
.
parseInt
(
this
.
netType
),
iccid
:
this
.
firstParam
,
remindType
:
this
.
currentRemindType
}
policy
.
updateRemindPolicy
(
Number
.
parseInt
(
this
.
netType
),
this
.
firstParam
,
Number
.
parseInt
(
this
.
currentRemindType
)).
then
(
function
(
error
,
data
)
{
policy
.
updateRemindPolicy
(
Number
.
parseInt
(
this
.
netType
),
this
.
firstParam
,
Number
.
parseInt
(
this
.
currentRemindType
)).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -1274,7 +1296,7 @@ setPowerSaveAllowList(uid: number, isAllowed: boolean): Promise\<void>;
let
param
=
{
uid
:
Number
.
parseInt
(
this
.
firstParam
),
isAllowed
:
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))
}
policy
.
setPowerSaveAllowList
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
policy
.
setPowerSaveAllowList
(
Number
.
parseInt
(
this
.
firstParam
),
Boolean
(
Number
.
parseInt
(
this
.
isBoolean
))).
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
@@ -1340,7 +1362,7 @@ getPowerSaveAllowList(): Promise\<Array\<number>>;
**示例:**
```
js
policy
.
getPowerSaveAllowList
().
then
(
function
(
error
,
data
)
{
policy
.
getPowerSaveAllowList
().
then
(
function
(
error
,
data
)
{
console
.
log
(
JSON
.
stringify
(
error
))
console
.
log
(
JSON
.
stringify
(
data
))
})
...
...
zh-cn/application-dev/reference/apis/js-apis-net-sharing.md
浏览文件 @
c9d59d42
...
...
@@ -194,7 +194,8 @@ startSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
startSharing
(
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
...
...
@@ -243,7 +244,8 @@ startSharing(type: SharingIfaceType): Promise\<void>
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
startSharing
(
SHARING_WIFI
).
then
(()
=>
{
console
.
log
(
"
start wifi sharing successful
"
);
}).
catch
(
error
=>
{
...
...
@@ -287,7 +289,8 @@ stopSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
stopSharing
(
SHARING_WIFI
,
(
error
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
});
...
...
@@ -334,7 +337,8 @@ stopSharing(type: SharingIfaceType): Promise\<void>
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
stopSharing
(
SHARING_WIFI
).
then
(()
=>
{
console
.
log
(
"
stop wifi sharing successful
"
);
}).
catch
(
error
=>
{
...
...
@@ -588,7 +592,8 @@ getSharingIfaces(state: SharingIfaceState, callback: AsyncCallback\<Array\<strin
```
js
import
SharingIfaceState
from
'
@ohos.net.sharing
'
let
SHARING_BLUETOOTH
=
2
;
let
SHARING_BLUETOOTH
=
2
;
sharing
.
getSharingIfaces
(
SHARING_BLUETOOTH
,
(
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
...
...
@@ -633,7 +638,8 @@ getSharingIfaces(state: SharingIfaceState): Promise\<Array\<string>>
```
js
import
SharingIfaceState
from
'
@ohos.net.sharing
'
let
SHARING_BLUETOOTH
=
2
;
let
SHARING_BLUETOOTH
=
2
;
sharing
.
getSharingIfaces
(
SHARING_BLUETOOTH
).
then
(
data
=>
{
console
.
log
(
JSON
.
stringify
(
data
));
}).
catch
(
error
=>
{
...
...
@@ -674,7 +680,8 @@ getSharingState(type: SharingIfaceType, callback: AsyncCallback\<SharingIfaceSta
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
getSharingState
(
SHARING_WIFI
,
(
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
...
...
@@ -719,7 +726,8 @@ getSharingState(type: SharingIfaceType): Promise\<SharingIfaceState>
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
getSharingState
(
SHARING_WIFI
).
then
(
data
=>
{
console
.
log
(
JSON
.
stringify
(
data
));
}).
catch
(
error
=>
{
...
...
@@ -760,7 +768,8 @@ getSharableRegexes(type: SharingIfaceType, callback: AsyncCallback\<Array\<strin
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
getSharableRegexes
(
SHARING_WIFI
,
(
error
,
data
)
=>
{
console
.
log
(
JSON
.
stringify
(
error
));
console
.
log
(
JSON
.
stringify
(
data
));
...
...
@@ -805,7 +814,8 @@ getSharableRegexes(type: SharingIfaceType): Promise\<Array\<string>>
```
js
import
SharingIfaceType
from
'
@ohos.net.sharing
'
let
SHARING_WIFI
=
0
;
let
SHARING_WIFI
=
0
;
sharing
.
getSharableRegexes
(
SHARING_WIFI
).
then
(
data
=>
{
console
.
log
(
JSON
.
stringify
(
data
));
}).
catch
(
error
=>
{
...
...
@@ -842,8 +852,8 @@ on(type: 'sharingStateChange', callback: Callback\<boolean>): void
**示例:**
```
js
sharing
.
on
(
'
sharingStateChange
'
,
(
data
)
=>
{
console
.
log
(
'
on sharingStateChange:
'
+
JSON
.
stringify
(
data
));
sharing
.
on
(
'
sharingStateChange
'
,
(
data
)
=>
{
console
.
log
(
'
on sharingStateChange:
'
+
JSON
.
stringify
(
data
));
});
```
...
...
@@ -910,8 +920,8 @@ on(type: 'interfaceSharingStateChange', callback: Callback\<{ type: SharingIface
**示例:**
```
js
sharing
.
on
(
'
interfaceSharingStateChange
'
,
(
data
)
=>
{
console
.
log
(
'
on interfaceSharingStateChange:
'
+
JSON
.
stringify
(
data
));
sharing
.
on
(
'
interfaceSharingStateChange
'
,
(
data
)
=>
{
console
.
log
(
'
on interfaceSharingStateChange:
'
+
JSON
.
stringify
(
data
));
});
```
...
...
@@ -978,8 +988,8 @@ on(type: 'sharingUpstreamChange', callback: Callback\<NetHandle>): void
**示例:**
```
js
sharing
.
on
(
'
sharingUpstreamChange
'
,
(
data
)
=>
{
console
.
log
(
'
on sharingUpstreamChange:
'
+
JSON
.
stringify
(
data
));
sharing
.
on
(
'
sharingUpstreamChange
'
,
(
data
)
=>
{
console
.
log
(
'
on sharingUpstreamChange:
'
+
JSON
.
stringify
(
data
));
});
```
...
...
zh-cn/application-dev/reference/apis/js-apis-socket.md
浏览文件 @
c9d59d42
...
...
@@ -26,14 +26,12 @@ constructUDPSocketInstance(): UDPSocket
| :--------------------------------- | :---------------------- |
|
[
UDPSocket
](
#udpsocket
)
| 返回一个UDPSocket对象。 |
**示例:**
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
```
## UDPSocket
UDPSocket连接。在调用UDPSocket的方法前,需要先通过
[
socket.constructUDPSocketInstance
](
#socketconstructudpsocketinstance
)
创建UDPSocket对象。
...
...
@@ -75,7 +73,6 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
})
```
### bind
bind(address: NetAddress): Promise
\<
void
\>
...
...
@@ -110,14 +107,13 @@ bind(address: NetAddress): Promise\<void\>
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
promise
=
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
8080
,
family
:
1
});
promise
.
then
(()
=>
{
promise
.
then
(()
=>
{
console
.
log
(
'
bind success
'
);
}).
catch
(
err
=>
{
console
.
log
(
'
bind fail
'
);
});
```
### send
send(options: UDPSendOptions, callback: AsyncCallback
\<
void
\>
): void
...
...
@@ -149,13 +145,13 @@ send(options: UDPSendOptions, callback: AsyncCallback\<void\>): void
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
udp
.
send
({
data
:
'
Hello, server!
'
,
data
:
'
Hello, server!
'
,
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
},
err
=>
{
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
send fail
'
);
return
;
...
...
@@ -164,7 +160,6 @@ udp.send({
})
```
### send
send(options: UDPSendOptions): Promise
\<
void
\>
...
...
@@ -201,11 +196,11 @@ send(options: UDPSendOptions): Promise\<void\>
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
promise
=
udp
.
send
({
data
:
'
Hello, server!
'
,
data
:
'
Hello, server!
'
,
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
});
promise
.
then
(()
=>
{
...
...
@@ -215,7 +210,6 @@ promise.then(() => {
});
```
### close
close(callback: AsyncCallback
\<
void
\>
): void
...
...
@@ -245,7 +239,6 @@ udp.close(err => {
})
```
### close
close(): Promise
\<
void
\>
...
...
@@ -274,15 +267,14 @@ promise.then(() => {
});
```
### getState
getState(callback: AsyncCallback
\<
SocketStateBase
\>
): void
获取UDPSocket状态。使用callback方式作为异步方法。
>
**说明:**
>bind方法调用成功后,才可调用此方法。
>
**说明:**
>
bind方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -320,15 +312,14 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
})
```
### getState
getState(): Promise
\<
SocketStateBase
\>
获取UDPSocket状态。使用Promise方式作为异步方法。
>
**说明:**
>bind方法调用成功后,才可调用此方法。
>
**说明:**
>
bind方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -344,7 +335,8 @@ getState(): Promise\<SocketStateBase\>
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
let
promise
=
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
});
promise
.
then
(
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
...
...
@@ -356,18 +348,17 @@ udp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
}).
catch
(
err
=>
{
console
.
log
(
'
getState fail
'
);
});
})
})
;
```
### setExtraOptions
setExtraOptions(options: UDPExtraOptions, callback: AsyncCallback
\<
void
\>
): void
设置UDPSocket连接的其他属性。使用callback方式作为异步方法。
>
**说明:**
>bind方法调用成功后,才可调用此方法。
>
**说明:**
>
bind方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -391,19 +382,19 @@ setExtraOptions(options: UDPExtraOptions, callback: AsyncCallback\<void\>): void
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
console
.
log
(
'
bind success
'
);
udp
.
setExtraOptions
({
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
false
,
socketTimeout
:
6000
,
broadcast
:
true
},
err
=>
{
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
false
,
socketTimeout
:
6000
,
broadcast
:
true
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
setExtraOptions fail
'
);
return
;
...
...
@@ -413,15 +404,14 @@ udp.bind({address:'192.168.xx.xxx', port:xxxx, family:1}, err=> {
})
```
### setExtraOptions
setExtraOptions(options: UDPExtraOptions): Promise
\<
void
\>
设置UDPSocket连接的其他属性。使用Promise方式作为异步方法。
>
**说明:**
>bind方法调用成功后,才可调用此方法。
>
**说明:**
>
bind方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -450,15 +440,15 @@ setExtraOptions(options: UDPExtraOptions): Promise\<void\>
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
promise
=
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
});
let
promise
=
udp
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
});
promise
.
then
(()
=>
{
console
.
log
(
'
bind success
'
);
let
promise1
=
udp
.
setExtraOptions
({
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
false
,
socketTimeout
:
6000
,
broadcast
:
true
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
false
,
socketTimeout
:
6000
,
broadcast
:
true
});
promise1
.
then
(()
=>
{
console
.
log
(
'
setExtraOptions success
'
);
...
...
@@ -470,7 +460,6 @@ promise.then(() => {
});
```
### on('message')
on(type: 'message', callback: Callback
\<
{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}
\>
): void
...
...
@@ -495,15 +484,14 @@ udp.on('message', value => {
});
```
### off('message')
off(type: 'message', callback?: Callback
\<
{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}
\>
): void
取消订阅UDPSocket连接的接收消息事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -518,7 +506,7 @@ off(type: 'message', callback?: Callback\<{message: ArrayBuffer, remoteInfo: Soc
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
callback
=
value
=>
{
let
callback
=
value
=>
{
console
.
log
(
"
on message, message:
"
+
value
.
message
+
"
, remoteInfo:
"
+
value
.
remoteInfo
);
}
udp
.
on
(
'
message
'
,
callback
);
...
...
@@ -527,7 +515,6 @@ udp.off('message', callback);
udp
.
off
(
'
message
'
);
```
### on('listening' | 'close')
on(type: 'listening' | 'close', callback: Callback
\<
void
\>
): void
...
...
@@ -551,19 +538,18 @@ udp.on('listening', () => {
console
.
log
(
"
on listening success
"
);
});
udp
.
on
(
'
close
'
,
()
=>
{
console
.
log
(
"
on close success
"
);
console
.
log
(
"
on close success
"
);
});
```
### off('listening' | 'close')
off(type: 'listening' | 'close', callback?: Callback
\<
void
\>
): void
取消订阅UDPSocket连接的数据包消息事件或关闭事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -578,14 +564,14 @@ off(type: 'listening' | 'close', callback?: Callback\<void\>): void
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
callback1
=
()
=>
{
let
callback1
=
()
=>
{
console
.
log
(
"
on listening, success
"
);
}
udp
.
on
(
'
listening
'
,
callback1
);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
udp
.
off
(
'
listening
'
,
callback1
);
udp
.
off
(
'
listening
'
);
let
callback2
=
()
=>
{
let
callback2
=
()
=>
{
console
.
log
(
"
on close, success
"
);
}
udp
.
on
(
'
close
'
,
callback2
);
...
...
@@ -594,7 +580,6 @@ udp.off('close', callback2);
udp
.
off
(
'
close
'
);
```
### on('error')
on(type: 'error', callback: ErrorCallback): void
...
...
@@ -619,15 +604,14 @@ udp.on('error', err => {
});
```
### off('error')
off(type: 'error', callback?: ErrorCallback): void
取消订阅UDPSocket连接的error事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -642,7 +626,7 @@ off(type: 'error', callback?: ErrorCallback): void
```
js
let
udp
=
socket
.
constructUDPSocketInstance
();
let
callback
=
err
=>
{
let
callback
=
err
=>
{
console
.
log
(
"
on error, err:
"
+
JSON
.
stringify
(
err
));
}
udp
.
on
(
'
error
'
,
callback
);
...
...
@@ -651,7 +635,6 @@ udp.off('error', callback);
udp
.
off
(
'
error
'
);
```
## NetAddress
目标地址信息。
...
...
@@ -730,9 +713,9 @@ constructTCPSocketInstance(): TCPSocket
**返回值:**
| 类型 | 说明 |
| 类型 | 说明 |
| :--------------------------------- | :---------------------- |
|
[
TCPSocket
](
#tcpsocket
)
| 返回一个TCPSocket对象。 |
|
[
TCPSocket
](
#tcpsocket
)
| 返回一个TCPSocket对象。 |
**示例:**
...
...
@@ -740,7 +723,6 @@ constructTCPSocketInstance(): TCPSocket
let
tcp
=
socket
.
constructTCPSocketInstance
();
```
## TCPSocket
TCPSocket连接。在调用TCPSocket的方法前,需要先通过
[
socket.constructTCPSocketInstance
](
#socketconstructtcpsocketinstance
)
创建TCPSocket对象。
...
...
@@ -782,7 +764,6 @@ tcp.bind({address: '192.168.xx.xxx', port: xxxx, family: 1}, err => {
})
```
### bind
bind(address: NetAddress): Promise
\<
void
\>
...
...
@@ -824,15 +805,14 @@ promise.then(() => {
});
```
### connect
connect(options: TCPConnectOptions, callback: AsyncCallback
\<
void
\>
): void
连接到指定的IP地址和端口。使用callback方法作为异步方法。
>
**说明:**
>bind方法调用成功后,才可调用此方法。
>
**说明:**
>
bind方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -856,7 +836,7 @@ connect(options: TCPConnectOptions, callback: AsyncCallback\<void\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
},
err
=>
{
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
connect fail
'
);
return
;
...
...
@@ -865,7 +845,6 @@ tcp.connect({ address: {address: '192.168.xx.xxx', port: xxxx, family: 1} , time
})
```
### connect
connect(options: TCPConnectOptions): Promise
\<
void
\>
...
...
@@ -899,7 +878,7 @@ connect(options: TCPConnectOptions): Promise\<void\>
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
console
.
log
(
'
connect success
'
)
}).
catch
(
err
=>
{
...
...
@@ -907,15 +886,14 @@ promise.then(() => {
});
```
### send
send(options: TCPSendOptions, callback: AsyncCallback
\<
void
\>
): void
通过TCPSocket连接发送数据。使用callback方式作为异步方法。
>
**说明:**
>connect方法调用成功后,才可调用此方法。
>
**说明:**
>
connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -939,32 +917,29 @@ send(options: TCPSendOptions, callback: AsyncCallback\<void\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
timeout
:
6000
},
()
=>
{
console
.
log
(
'
connect success
'
);
tcp
.
send
({
data
:
'
Hello, server!
'
},
err
=>
{
data
:
'
Hello, server!
'
//此处省略encoding, 默认为utf-8编码格式
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
send fail
'
);
return
;
}
console
.
log
(
'
send success
'
);
})
}).
catch
(
err
=>
{
console
.
log
(
'
connect fail
'
);
});
})
```
### send
send(options: TCPSendOptions): Promise
\<
void
\>
通过TCPSocket连接发送数据。使用Promise方式作为异步方法。
>
**说明:**
>connect方法调用成功后,才可调用此方法。
>
**说明:**
>
connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -993,11 +968,11 @@ send(options: TCPSendOptions): Promise\<void\>
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise1
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
let
promise1
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise1
.
then
(()
=>
{
console
.
log
(
'
connect success
'
);
let
promise2
=
tcp
.
send
({
data
:
'
Hello, server!
'
data
:
'
Hello, server!
'
});
promise2
.
then
(()
=>
{
console
.
log
(
'
send success
'
);
...
...
@@ -1009,7 +984,6 @@ promise1.then(() => {
});
```
### close
close(callback: AsyncCallback
\<
void
\>
): void
...
...
@@ -1045,7 +1019,6 @@ tcp.close(err => {
})
```
### close
close(): Promise
\<
void
\>
...
...
@@ -1080,15 +1053,14 @@ promise.then(() => {
});
```
### getRemoteAddress
getRemoteAddress(callback: AsyncCallback
\<
NetAddress
\>
): void
获取对端Socket地址。使用callback方式作为异步方法。
>
**说明:**
>connect方法调用成功后,才可调用此方法。
>
**说明:**
>
connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1110,8 +1082,7 @@ getRemoteAddress(callback: AsyncCallback\<NetAddress\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
timeout
:
6000
},
()
=>
{
console
.
log
(
'
connect success
'
);
tcp
.
getRemoteAddress
((
err
,
data
)
=>
{
if
(
err
)
{
...
...
@@ -1120,20 +1091,17 @@ promise.then(() => {
}
console
.
log
(
'
getRemoteAddresssuccess:
'
+
JSON
.
stringify
(
data
));
})
}).
catch
(
err
=>
{
console
.
log
(
'
connect fail
'
);
});
```
### getRemoteAddress
getRemoteAddress(): Promise
\<
NetAddress
\>
获取对端Socket地址。使用Promise方式作为异步方法。
>
**说明:**
>connect方法调用成功后,才可调用此方法。
>
**说明:**
>
connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1155,7 +1123,7 @@ getRemoteAddress(): Promise\<NetAddress\>
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise1
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
let
promise1
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise1
.
then
(()
=>
{
console
.
log
(
'
connect success
'
);
let
promise2
=
tcp
.
getRemoteAddress
();
...
...
@@ -1169,15 +1137,14 @@ promise1.then(() => {
});
```
### getState
getState(callback: AsyncCallback
\<
SocketStateBase
\>
): void
获取TCPSocket状态。使用callback方式作为异步方法。
>
**说明:**
>bind或connect方法调用成功后,才可调用此方法。
>
**说明:**
>
bind或connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1199,8 +1166,7 @@ getState(callback: AsyncCallback\<SocketStateBase\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
timeout
:
6000
},
()
=>
{
console
.
log
(
'
connect success
'
);
tcp
.
getState
((
err
,
data
)
=>
{
if
(
err
)
{
...
...
@@ -1209,20 +1175,17 @@ promise.then(() => {
}
console
.
log
(
'
getState success:
'
+
JSON
.
stringify
(
data
));
});
}).
catch
(
err
=>
{
console
.
log
(
'
connect fail
'
);
});
```
### getState
getState(): Promise
\<
SocketStateBase
\>
获取TCPSocket状态。使用Promise方式作为异步方法。
>
**说明:**
>bind或connect方法调用成功后,才可调用此方法。
>
**说明:**
>
bind或connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1244,7 +1207,7 @@ getState(): Promise\<SocketStateBase\>
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
console
.
log
(
'
connect success
'
);
let
promise1
=
tcp
.
getState
();
...
...
@@ -1258,15 +1221,14 @@ promise.then(() => {
});
```
### setExtraOptions
setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback
\<
void
\>
): void
设置TCPSocket连接的其他属性。使用callback方式作为异步方法。
>
**说明:**
>bind或connect方法调用成功后,才可调用此方法。
>
**说明:**
>
bind或connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1290,39 +1252,35 @@ setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback\<void\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
timeout
:
6000
},
()
=>
{
console
.
log
(
'
connect success
'
);
tcp
.
setExtraOptions
({
keepAlive
:
true
,
OOBInline
:
true
,
TCPNoDelay
:
true
,
socketLinger
:
{
on
:
true
,
linger
:
10
},
socketLinger
:
{
on
:
true
,
linger
:
10
},
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
true
,
socketTimeout
:
3000
,
},
err
=>
{
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
setExtraOptions fail
'
);
return
;
}
console
.
log
(
'
setExtraOptions success
'
);
});
}).
catch
(
err
=>
{
console
.
log
(
'
connect fail
'
);
});
```
### setExtraOptions
setExtraOptions(options: TCPExtraOptions): Promise
\<
void
\>
设置TCPSocket连接的其他属性,使用Promise方式作为异步方法。
>
**说明:**
>bind或connect方法调用成功后,才可调用此方法。
>
**说明:**
>
bind或connect方法调用成功后,才可调用此方法。
**需要权限**
:ohos.permission.INTERNET
...
...
@@ -1351,14 +1309,14 @@ setExtraOptions(options: TCPExtraOptions): Promise\<void\>
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
let
promise
=
tcp
.
connect
({
address
:
{
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
}
,
timeout
:
6000
});
promise
.
then
(()
=>
{
console
.
log
(
'
connect success
'
);
let
promise1
=
tcp
.
setExtraOptions
({
keepAlive
:
true
,
OOBInline
:
true
,
TCPNoDelay
:
true
,
socketLinger
:
{
on
:
true
,
linger
:
10
},
socketLinger
:
{
on
:
true
,
linger
:
10
},
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
true
,
...
...
@@ -1374,7 +1332,6 @@ promise.then(() => {
});
```
### on('message')
on(type: 'message', callback: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}
\>
): void
...
...
@@ -1399,15 +1356,14 @@ tcp.on('message', value => {
});
```
### off('message')
off(type: 'message', callback?: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}
\>
): void
取消订阅TCPSocket连接的接收消息事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -1422,7 +1378,7 @@ off(type: 'message', callback?: Callback<{message: ArrayBuffer, remoteInfo: Sock
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
callback
=
value
=>
{
let
callback
=
value
=>
{
console
.
log
(
"
on message, message:
"
+
value
.
message
+
"
, remoteInfo:
"
+
value
.
remoteInfo
);
}
tcp
.
on
(
'
message
'
,
callback
);
...
...
@@ -1431,7 +1387,6 @@ tcp.off('message', callback);
tcp
.
off
(
'
message
'
);
```
### on('connect' | 'close')
on(type: 'connect' | 'close', callback: Callback
\<
void
\>
): void
...
...
@@ -1459,15 +1414,14 @@ tcp.on('close', data => {
});
```
### off('connect' | 'close')
off(type: 'connect' | 'close', callback?: Callback
\<
void
\>
): void
取消订阅TCPSocket的连接事件或关闭事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -1482,14 +1436,14 @@ off(type: 'connect' | 'close', callback?: Callback\<void\>): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
callback1
=
()
=>
{
let
callback1
=
()
=>
{
console
.
log
(
"
on connect success
"
);
}
tcp
.
on
(
'
connect
'
,
callback1
);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
tcp
.
off
(
'
connect
'
,
callback1
);
tcp
.
off
(
'
connect
'
);
let
callback2
=
()
=>
{
let
callback2
=
()
=>
{
console
.
log
(
"
on close success
"
);
}
tcp
.
on
(
'
close
'
,
callback2
);
...
...
@@ -1498,7 +1452,6 @@ tcp.off('close', callback2);
tcp
.
off
(
'
close
'
);
```
### on('error')
on(type: 'error', callback: ErrorCallback): void
...
...
@@ -1523,15 +1476,14 @@ tcp.on('error', err => {
});
```
### off('error')
off(type: 'error', callback?: ErrorCallback): void
取消订阅TCPSocket连接的error事件。使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -1546,7 +1498,7 @@ off(type: 'error', callback?: ErrorCallback): void
```
js
let
tcp
=
socket
.
constructTCPSocketInstance
();
let
callback
=
err
=>
{
let
callback
=
err
=>
{
console
.
log
(
"
on error, err:
"
+
JSON
.
stringify
(
err
));
}
tcp
.
on
(
'
error
'
,
callback
);
...
...
@@ -1555,7 +1507,6 @@ tcp.off('error', callback);
tcp
.
off
(
'
error
'
);
```
## TCPConnectOptions
TCPSocket连接的参数。
...
...
@@ -1769,12 +1720,11 @@ getState(): Promise\<SocketStateBase\>
**示例:**
```
js
tls
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
let
promiseBind
=
tls
.
bind
({
address
:
'
192.168.xx.xxx
'
,
port
:
xxxx
,
family
:
1
});
promiseBind
.
then
(()
=>
{
console
.
log
(
'
bind success
'
);
}).
catch
((
err
)
=>
{
console
.
log
(
'
bind fail
'
);
});
let
promise
=
tls
.
getState
();
promise
.
then
(()
=>
{
...
...
@@ -1822,18 +1772,19 @@ tls.setExtraOptions({
keepAlive
:
true
,
OOBInline
:
true
,
TCPNoDelay
:
true
,
socketLinger
:
{
on
:
true
,
linger
:
10
},
socketLinger
:
{
on
:
true
,
linger
:
10
},
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
true
,
socketTimeout
:
3000
,
},
err
=>
{
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
setExtraOptions fail
'
);
return
;
}
console
.
log
(
'
setExtraOptions success
'
);
});
```
### setExtraOptions<sup>9+</sup>
...
...
@@ -1878,7 +1829,7 @@ let promise = tls.setExtraOptions({
keepAlive
:
true
,
OOBInline
:
true
,
TCPNoDelay
:
true
,
socketLinger
:
{
on
:
true
,
linger
:
10
},
socketLinger
:
{
on
:
true
,
linger
:
10
},
receiveBufferSize
:
1000
,
sendBufferSize
:
1000
,
reuseAddress
:
true
,
...
...
@@ -1956,12 +1907,12 @@ let options = {
},
};
tlsTwoWay
.
connect
(
options
,
(
err
,
data
)
=>
{
console
.
error
(
"
connect callback error
"
+
err
);
console
.
error
(
"
connect callback error
"
+
err
);
console
.
log
(
JSON
.
stringify
(
data
));
});
let
tlsOneWay
=
socket
.
constructTLSSocketInstance
();
// One way authentication
tlsOneWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
8080
,
family
:
1
},
err
=>
{
tlsOneWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
8080
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
...
...
@@ -1975,12 +1926,12 @@ let oneWayOptions = {
family
:
1
,
},
secureOptions
:
{
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
cipherSuite
:
"
AES256-SHA256
"
,
},
};
tlsOneWay
.
connect
(
oneWayOptions
,
(
err
,
data
)
=>
{
console
.
error
(
"
connect callback error
"
+
err
);
console
.
error
(
"
connect callback error
"
+
err
);
console
.
log
(
JSON
.
stringify
(
data
));
});
```
...
...
@@ -2075,7 +2026,7 @@ let oneWayOptions = {
family
:
1
,
},
secureOptions
:
{
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
cipherSuite
:
"
AES256-SHA256
"
,
},
};
...
...
@@ -2551,7 +2502,7 @@ send(data: string): Promise\<void\>
**示例:**
```
js
tls
.
send
(
"
xxxx
"
).
then
(()
=>
{
tls
.
send
(
"
xxxx
"
).
then
(()
=>
{
console
.
log
(
"
send success
"
);
}).
catch
(
err
=>
{
console
.
error
(
err
);
...
...
@@ -2619,7 +2570,7 @@ close(): Promise\<void\>
**示例:**
```
js
tls
.
close
().
then
(()
=>
{
tls
.
close
().
then
(()
=>
{
console
.
log
(
"
close success
"
);
}).
catch
(
err
=>
{
console
.
error
(
err
);
...
...
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
浏览文件 @
c9d59d42
...
...
@@ -5,11 +5,12 @@
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
使用WebSocket建立服务器与客户端的双向连接,需要先通过
[
createWebSocket
](
#websocketcreatewebsocket
)
方法创建
[
WebSocket
](
#websocket
)
对象,然后通过
[
connect
](
#connect
)
方法连接到服务器。当连接成功后,客户端会收到
[
open
](
#onopen
)
事件的回调,之后客户端就可以通过
[
send
](
#send
)
方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到
[
message
](
#onmessage
)
事件的回调。当客户端不要此连接时,可以通过调用
[
close
](
#close
)
方法主动断开连接,之后客户端会收到
[
close
](
#onclose
)
事件的回调。
使用WebSocket建立服务器与客户端的双向连接,需要先通过
[
createWebSocket
](
#websocketcreatewebsocket
)
方法创建
[
WebSocket
](
#websocket
)
对象,然后通过
[
connect
](
#connect
)
方法连接到服务器。
当连接成功后,客户端会收到
[
open
](
#onopen
)
事件的回调,之后客户端就可以通过
[
send
](
#send
)
方法与服务器进行通信。
当服务器发信息给客户端时,客户端会收到
[
message
](
#onmessage
)
事件的回调。当客户端不要此连接时,可以通过调用
[
close
](
#close
)
方法主动断开连接,之后客户端会收到
[
close
](
#onclose
)
事件的回调。
若在上述任一过程中发生错误,客户端会收到
[
error
](
#onerror
)
事件的回调。
## 导入模块
```
js
...
...
@@ -21,9 +22,13 @@ import webSocket from '@ohos.net.webSocket';
```
js
import
webSocket
from
'
@ohos.net.webSocket
'
;
var
defaultIpAddress
=
"
ws://
"
;
let
defaultIpAddress
=
"
ws://
"
;
let
ws
=
webSocket
.
createWebSocket
();
ws
.
on
(
'
open
'
,
(
err
,
value
)
=>
{
if
(
err
!=
undefined
)
{
console
.
log
(
JSON
.
stringify
(
err
))
return
}
console
.
log
(
"
on open, status:
"
+
value
[
'
status
'
]
+
"
, message:
"
+
value
[
'
message
'
]);
// 当收到on('open')事件时,可以通过send()方法与服务器进行通信
ws
.
send
(
"
Hello, server!
"
,
(
err
,
value
)
=>
{
...
...
@@ -82,7 +87,6 @@ createWebSocket(): WebSocket
let
ws
=
webSocket
.
createWebSocket
();
```
## WebSocket
在调用WebSocket的方法前,需要先通过
[
webSocket.createWebSocket
](
#websocketcreatewebsocket
)
创建一个WebSocket。
...
...
@@ -93,6 +97,9 @@ connect(url: string, callback: AsyncCallback\<boolean\>): void
根据URL地址,建立一个WebSocket连接,使用callback方式作为异步方法。
> **说明:**
> 可通过监听error事件获得该接口的执行结果,错误发生时会得到错误码:200。
**需要权限**
:ohos.permission.INTERNET
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -125,13 +132,15 @@ ws.connect(url, (err, value) => {
});
```
### connect
connect(url: string, options: WebSocketRequestOptions, callback: AsyncCallback
\<
boolean
\>
): void
根据URL地址和header,建立一个WebSocket连接,使用callback方式作为异步方法。
> **说明:**
> 可通过监听error事件获得该接口的执行结果,错误发生时会得到错误码:200。
**需要权限**
:ohos.permission.INTERNET
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -170,13 +179,15 @@ ws.connect(url, {
});
```
### connect
connect(url: string, options?: WebSocketRequestOptions): Promise
\<
boolean
\>
根据URL地址和header,建立一个WebSocket连接,使用Promise方式作为异步方法。
> **说明:**
> 可通过监听error事件获得该接口的执行结果,错误发生时会得到错误码:200。
**需要权限**
:ohos.permission.INTERNET
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -214,7 +225,6 @@ promise.then((value) => {
});
```
### send
send(data: string | ArrayBuffer, callback: AsyncCallback
\<
boolean
\>
): void
...
...
@@ -255,7 +265,6 @@ ws.connect(url, (err, value) => {
});
```
### send
send(data: string | ArrayBuffer): Promise
\<
boolean
\>
...
...
@@ -300,7 +309,6 @@ ws.connect(url, (err, value) => {
});
```
### close
close(callback: AsyncCallback
\<
boolean
\>
): void
...
...
@@ -328,7 +336,6 @@ close(callback: AsyncCallback\<boolean\>): void
```
js
let
ws
=
webSocket
.
createWebSocket
();
let
url
=
"
ws://
"
ws
.
close
((
err
,
value
)
=>
{
if
(
!
err
)
{
console
.
log
(
"
close success
"
)
...
...
@@ -338,7 +345,6 @@ ws.close((err, value) => {
});
```
### close
close(options: WebSocketCloseOptions, callback: AsyncCallback
\<
boolean
\>
): void
...
...
@@ -367,7 +373,6 @@ close(options: WebSocketCloseOptions, callback: AsyncCallback\<boolean\>): void
```
js
let
ws
=
webSocket
.
createWebSocket
();
let
url
=
"
ws://
"
ws
.
close
({
code
:
1000
,
reason
:
"
your reason
"
...
...
@@ -380,7 +385,6 @@ ws.close({
});
```
### close
close(options?: WebSocketCloseOptions): Promise
\<
boolean
\>
...
...
@@ -414,7 +418,6 @@ close(options?: WebSocketCloseOptions): Promise\<boolean\>
```
js
let
ws
=
webSocket
.
createWebSocket
();
let
url
=
"
ws://
"
let
promise
=
ws
.
close
({
code
:
1000
,
reason
:
"
your reason
"
...
...
@@ -426,7 +429,6 @@ promise.then((value) => {
});
```
### on('open')
on(type: 'open', callback: AsyncCallback
\<
Object
\>
): void
...
...
@@ -442,7 +444,6 @@ on(type: 'open', callback: AsyncCallback\<Object\>): void
| type | string | 是 | 'open':WebSocket的打开事件。 |
| callback | AsyncCallback
\<
Object
\>
| 是 | 回调函数。 |
**示例:**
```
js
...
...
@@ -452,15 +453,14 @@ ws.on('open', (err, value) => {
});
```
### off('open')
off(type: 'open', callback?: AsyncCallback
\<
Object
\>
): void
取消订阅WebSocket的打开事件,使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -483,15 +483,14 @@ ws.on('open', callback1);
ws
.
off
(
'
open
'
,
callback1
);
```
### on('message')
on(type: 'message', callback: AsyncCallback
\<
string | ArrayBuffer
\>
): void
订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。
>
**说明:**
>AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。
>
**说明:**
>
AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -511,16 +510,15 @@ ws.on('message', (err, value) => {
});
```
### off('message')
off(type: 'message', callback?: AsyncCallback
\<
string | ArrayBuffer
\>
): void
取消订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。
>
**说明:**
>AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
AsyncCallback中的数据可以是字符串(API 6)或ArrayBuffer(API 8)。
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -538,7 +536,6 @@ let ws = webSocket.createWebSocket();
ws
.
off
(
'
message
'
);
```
### on('close')
on(type: 'close', callback: AsyncCallback
\<
{ code: number, reason: string }
\>
): void
...
...
@@ -563,15 +560,14 @@ ws.on('close', (err, value) => {
});
```
### off('close')
off(type: 'close', callback?: AsyncCallback
\<
{ code: number, reason: string }
\>
): void
取消订阅WebSocket的关闭事件,使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -589,7 +585,6 @@ let ws = webSocket.createWebSocket();
ws
.
off
(
'
close
'
);
```
### on('error')
on(type: 'error', callback: ErrorCallback): void
...
...
@@ -603,7 +598,7 @@ on(type: 'error', callback: ErrorCallback): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------- | ---- | ------------------------------- |
| type | string | 是 | 'error':WebSocket的Error事件。 |
| callback | ErrorCallback | 是 | 回调函数。
|
| callback | ErrorCallback | 是 | 回调函数。
<br>
常见错误码:200
|
**示例:**
...
...
@@ -614,15 +609,14 @@ ws.on('error', (err) => {
});
```
### off('error')
off(type: 'error', callback?: ErrorCallback): void
取消订阅WebSocket的Error事件,使用callback方式作为异步方法。
>
**说明:**
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
>
**说明:**
>
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -640,7 +634,6 @@ let ws = webSocket.createWebSocket();
ws
.
off
(
'
error
'
);
```
## WebSocketRequestOptions
建立WebSocket连接时,可选参数的类型和说明。
...
...
@@ -651,7 +644,6 @@ ws.off('error');
| ------ | ------ | ---- | ------------------------------------------------------------ |
| header | Object | 否 | 建立WebSocket连接可选参数,代表建立连接时携带的HTTP头信息。参数内容自定义,也可以不指定。 |
## WebSocketCloseOptions
关闭WebSocket连接时,可选参数的类型和说明。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录