DCV 模块 - NICE DCV
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DCV 模块

实施 DCV 协议客户端的模块。

方法

authenticate(url, callbacks) → {Authentication}

启动指定的 NICE DCV 服务器终端节点的身份验证过程。

参数:

名称 类型 描述
url 字符串 运行的 NICE DCV 服务器的主机名和端口,格式如下所示:https://dcv_host_address:port。例如:https://my-dcv-server:8443
callbacks authenticationCallbacks 在身份验证过程中可调用的回调。

返回值:

- Authentication 对象。

类型

身份验证

connect(config) → {Promise.<Connection>|Promise.<{code: ConnectionErrorCode, message: string}>}

连接到指定的 NICE DCV 服务器终端节点。如果连接成功,则返回一个 Connection 对象。如果连接失败,则返回一个错误对象。

参数:

名称 类型 描述
config ConnectionConfig ConnectionConfig 对象。

返回值:

- Connection 对象或错误对象。

类型

Promise.<Connection> | Promise.<{code: ConnectionErrorCode, message: string}>

setLogHandler(handler) → {void}

设置自定义日志处理函数。如果覆盖默认日志处理程序,在使用浏览器控制台调试时,原始日志条目位置将丢失。

参数:

名称 类型 描述
handler 函数 自定义日志处理函数。处理函数包含 level(数字)、levelName(字符串)、domain(字符串)和 message(字符串)。

返回值:

类型

void

setLogLevel(level) → {void}

设置日志级别。只有在使用默认日志处理程序时,才需要使用该方法。

参数:

名称 类型 描述
level LogLevel 要使用的日志级别。

返回值:

类型

void

成员

(constant) AudioError :AudioErrorCode

AudioError 代码枚举。

类型:

(constant) AuthenticationError :AuthenticationErrorCode

AuthenticationError 代码枚举。

类型:

(constant) ChannelError :ChannelErrorCode

ChannelError 代码枚举。

类型:

(constant) ClosingReasonError :ClosingReasonErrorCode

ClosingReasonError 代码枚举。

类型:

(constant) ConnectionError :ConnectionErrorCode

ConnectionError 代码枚举。

类型:

(constant) CustomChannelError :CustomChannelErrorCode

CustomChannelError 代码枚举。

类型:

(constant) DisplayConfigError :DisplayConfigErrorCode

DisplayConfigError 代码枚举。

类型:

(constant) FileStorageError :FileStorageErrorCode

FileStorageError 代码枚举。

类型:

(constant) LogLevel :LogLevel

可用的 SDK 日志级别。

类型:

(constant) MultiMonitorError :MultiMonitorErrorCode

MultiMonitorError 代码枚举。

类型:

(constant) ResolutionError :ResolutionErrorCode

ResolutionError 代码枚举。

类型:

(constant) TimezoneRedirectionError :TimezoneRedirectionErrorCode

TimezoneRedirectionError 代码枚举。

类型:

(constant) TimezoneRedirectionSetting :TimezoneRedirectionSettingCode

TimezoneRedirectionSetting 代码枚举。

类型:

(constant) TimezoneRedirectionStatus :TimezoneRedirectionStatusCode

TimezoneRedirectionStatus 代码枚举。

类型:

(constant) version

带有 major、minor、patch、revision、extended 和 versionStr 的 NICE DCV 版本。

属性:

名称 类型 描述
major integer 主要版本号。
minor integer 次要版本号。
patch integer 补丁版本号。
revision integer 修订号。
extended 字符串 扩展的字符串。
versionStr 字符串 串联的主要版本号、次要版本号、补丁号和修订号,形式为 major.minor.patch+build.revision

(constant) ScreenshotError :ScreenshotErrorCode

ScreenshotError 代码枚举。

类型:

(constant) WebcamError :WebcamErrorCode

WebcamError 代码枚举。

类型:

类型和回调定义

AudioErrorCode

DCV 模块中提供的 AudioError 代码枚举

  • SETTING_AUDIO_FAILED

  • CHANNEL_NOT_AVAILABLE

类型:

  • number

authenticationCallbacks

身份验证回调

类型:

  • 对象

属性:

名称 类型 描述
promptCredentials authPromptCredentialsCallback 在询问用户凭证时调用的回调函数。
error authErrorCallback 在身份验证失败时调用的回调函数。
success authSuccessCallback 在身份验证成功时调用的回调函数。

AuthenticationErrorCode

DCV 模块中提供的 AuthenticationError 代码枚举

  • INVALID_MESSAGE

  • UNKNOWN_AUTH_MODE

  • SESSION_NOT_AVAILABLE

  • NO_SESSIONS

  • WRONG_CREDENTIALS

  • SASL_CHALLENGE

  • SASL_AUTH_MECHANISM

  • FAILED_COMMUNICATION

  • AUTHENTICATION_REJECTED

  • GENERIC_ERROR

  • WRONG_CREDENTIALS_FORMAT

  • WRONG_CREDENTIALS_TYPE

  • UNREQUESTED_CREDENTIALS

  • MISSING_CREDENTIAL

类型:

  • number

authErrorCallback(authentication, error)

在身份验证失败时调用的回调函数。

参数:

名称 类型 描述
authentication 身份验证 Authentication 对象。
error 对象 身份验证过程引发的错误对象。
名称 类型 描述
code AuthenticationErrorCode 错误代码。
message 字符串 错误消息。

authPromptCredentialsCallback(authentication, challenge)

在询问用户凭证时调用的回调函数。用户必须提供请求的凭证以回答质询。

参数:

名称 类型 描述
authentication 身份验证 Authentication 对象。
challenge 对象 质询。
名称 类型 描述
requiredCredentials Array.<Object> 请求的凭证对象的数组。
名称 类型 描述
name 字符串 请求的凭证的名称。
type 字符串 请求的凭证的类型。

authSuccessCallback(authentication, authenticationData)

在身份验证成功时调用的回调函数。

参数:

名称 类型 描述
authentication 身份验证 Authentication 对象。
authenticationData Array.<Object> 包含 NICE DCV 会话 ID 和身份验证令牌的对象的数组。
名称 类型 描述
sessionId 字符串 NICE DCV 会话 ID。
authToken 字符串 NICE DCV 会话的身份验证令牌。

渠道

可以指定的可用通道。

类型:

  • "clipboard" | "display" | "input" | "audio" | "filestorage"

ChannelErrorCode

DCV 模块中提供的 ChannelError 代码枚举

  • ALREADY_OPEN

  • INITIALIZATION_FAILED

  • REJECTED

类型:

  • number

clipboardEventCallback(event)

在生成 clipboardEvent 时调用的回调函数。

参数:

名称 类型 描述
event 对象 有关剪贴板事件的信息。
名称 类型 属性 描述
name established | copy | paste | dataSizeAlert | autoCopyDone | newDataAvailable | autoPasteDone | remoteError | pasteAvailableData 始终存在。事件名称。
clipboardData Object | string 剪贴板中的数据。
autoCopy 布尔值 <可选> 指示是否启用从会话剪贴板到本地客户端剪贴板的自动复制。
maxDataSize number <可选> 可以在剪贴板中放置的最大数据量。
error 字符串 <可选> 错误信息(如果适用)。

ClosingReasonErrorCode

DCV 模块中提供的 ClosingReasonError 代码枚举

  • TRANSPORT_ERROR

  • NO_ERROR

  • GENERIC_ERROR

  • INTERNAL_SERVER_ERROR

  • PROTOCOL_ERROR

  • AUTHORIZATION_DENIED

  • AUTHORIZATION_REVOKED

  • ACCESS_REJECTED

  • IDLE_TIMEOUT_EXPIRED

  • DISCONNECT_BY_OWNER

  • DISCONNECT_BY_USER

  • EVICTED

类型:

  • number

Colorspace

可以指定的可用色彩空间。

类型:

  • "RGB" | "YUV_REC601" | "YUV_REC709"

connectionCallbacks

在出现连接错误时可调用的回调。

类型:

  • 对象

属性:

名称 类型 描述
disconnect disconnectCallback 在连接结束时调用的回调函数。
displayLayout displayLayoutCallback 在更改显示布局或分辨率时调用的回调函数。
displayAvailability displayAvailabilityCallback 在显示器的可用性发生变化时调用的回调函数。
firstFrame firstFrameCallback 从 NICE DCV 服务器收到第一帧时调用的回调函数。
filePrinted filePrintedCallback 在 NICE DCV 服务器上打印文件时调用的回调函数。
fileDownload fileDownloadCallback 在准备好从 NICE DCV 服务器下载文件时调用的回调函数。
dataChannel dataChannelCallback 在 NICE DCV 服务器发送有关数据通道可用性的通知时调用的回调函数。
licenseNotification licenseNotificationCallback 在 NICE DCV 服务器发送有关许可证状态的通知时调用的回调函数。
idleWarningNotification idleWarningNotificationCallback 在 NICE DCV 服务器发送空闲超时警告时调用的回调函数。
collaboratorList collaboratorListCallback 在 NICE DCV 服务器发送协作者列表时调用的回调函数(自 NICE DCV Web Client SDK 版本 1.1.0 起)。
qualityIndicatorState qualityIndicatorStateCallback 在连接质量指标改变状态时调用的回调函数。
filestorageEnabled filestorageEnabledCallback 在启用或禁用文件存储时调用的回调函数。
featuresUpdate featuresUpdateCallback 在功能状态发生变化时调用的回调函数。
clipboardEvent clipboardEventCallback 在生成 clipboardEvent 时调用的回调函数。
deviceChangeEvent deviceChangeEventCallback 在触发 deviceChange 事件时调用的回调函数。
screenshot screenshotCallback screenshot 可用时调用的回调函数。

ConnectionConfig

NICE DCV 连接配置。

类型:

  • 对象

属性:

名称 类型 描述
url 字符串 运行的 NICE DCV 服务器的主机名和端口,格式如下所示:https://dcv_host_address:port。例如:https://my-dcv-server:8443
sessionId 字符串 NICE DCV 会话 ID。
authToken 字符串 在连接到服务器时使用的身份验证令牌。
baseUrl 字符串 从中加载 SDK 文件的绝对或相对 URL。
resourceBaseUrl 字符串 从中访问 DCV 资源的绝对或相对 URL。
enabledChannels Array.<Channel> 指示可以启用的通道列表。如果未指定或提供空数组,它默认为所有可用的通道。
losslessColorspace Colorspace 指示将使用的色彩空间。如果未指定,它默认为“RGB”。
divId 字符串 HTML DOM 中的 div 对象的 ID,SDK 应在其中使用远程流创建画布。
volumeLevel integer 首选的音量。有效范围是 0 到 100。
clipboardAutoSync 布尔值 指示是否为兼容的 Web 浏览器启用从 NICE DCV 会话剪贴板到本地客户端剪贴板的自动复制。
dynamicAudioTuning 布尔值 指示在建立连接时是否根据 NICE DCV 服务器音频设置动态调整音频。
clientHiDpiScaling 布尔值 指示是否根据客户端的 DPI 缩放画布。
highColorAccuracy 布尔值 指示是否应使用高色彩精度(如果可用)。如果未指定,它默认为 false
enableWebCodecs 布尔值 指示是否应使用 WebCodecs(如果可用)。如果未指定,则默认为 false
observers connectionCallbacks 用于调用与连接相关的事件的回调函数。
callbacks connectionCallbacks observers 属性相同,但每个回调都包含 Connection 对象以作为第一个参数。

ConnectionErrorCode

DCV 模块中提供的 ConnectionError 代码枚举

  • ALREADY_OPEN

  • INVALID_CONFIG

  • INITIALIZATION_FAILED

  • REJECTED

  • MAIN_CHANNEL_ALREADY_OPEN

  • GENERIC_ERROR(自 DCV Server 2021.0 起)

  • INTERNAL_SERVER_ERROR(自 DCV Server 2021.0 起)

  • AUTHENTICATION_FAILED(自 DCV Server 2021.0 起)

  • PROTOCOL_ERROR(自 DCV Server 2021.0 起)

  • INVALID_SESSION_ID(自 DCV Server 2021.0 起)

  • INVALID_CONNECTION_ID(自 DCV Server 2021.0 起)

  • CONNECTION_LIMIT_REACHED(自 DCV Server 2021.0 起)

  • SERVER_UNREACHABLE(自 DCV Server 2022.1 起)

类型:

  • number

createDirectory(path)

参数:

名称 类型 描述
path 字符串 我们要在其中创建目录的服务器上的绝对路径。它还应包括目标目录的名称。

CustomChannelErrorCode

DCV 模块中提供的 CustomChannelError 代码枚举

  • TRANSPORT_ERROR

类型:

  • number

dataChannelCallback(info)

在 NICE DCV 服务器发送有关数据通道可用性的通知时调用的回调函数。

参数:

名称 类型 描述
info 对象 有关数据通道的信息。
名称 类型 描述
name 字符串 数据通道的名称。
token 字符串 数据通道的身份验证令牌。

deleteFile(path)

参数:

名称 类型 描述
path 字符串 服务器上的绝对路径,指定我们要删除的文件。

deviceChangeEventCallback()

在触发 deviceChange 事件时调用的回调函数。

disconnectCallback(reason)

在连接结束时调用的回调函数。

参数:

名称 类型 描述
reason 对象 断开连接原因。
名称 类型 描述
code number 原因代码。
message 字符串 原因消息。

displayAvailabilityCallback(status, displayId)

在显示器的可用性发生变化时调用的回调函数。

参数:

名称 类型 描述
status 对象 显示器的状态。
名称 类型 说明
enabled 布尔值 指示是否启用显示器。
closed 布尔值 指示显示器是否关闭。
displayId number 显示器的标识符。

DisplayConfigErrorCode

DCV 模块中提供的 DisplayConfigError 代码枚举

  • INVALID_ARGUMENT

  • UNSUPPORTED_OPERATION

  • NO_CHANNEL

类型:

  • number

displayLayoutCallback(serverWidth, serverHeight, heads)

在更改显示布局或分辨率时调用的回调函数。

参数:

名称 类型 描述
serverWidth number 主显示器的宽度(以像素为单位)。
serverHeight number 主显示器的高度(以像素为单位)。
heads Array.<Monitor> NICE DCV 服务器支持的显示头。

feature

功能值。

  • display - 指示单显示器视频流的可用性。

  • display-multi - 指示多显示器视频流的可用性。

  • high-color-accuracy - 指示高色彩精度的可用性(自 NICE DCV Web Client SDK 版本 1.1.0 起)。

  • mouse - 指示鼠标功能的可用性。

  • keyboard - 指示键盘功能的可用性。

  • keyboard-sas - 指示 SAS 序列(Control + Alt + Delete)功能的可用性。

  • relative-mouse - 指示相对鼠标模式的可用性。

  • clipboard-copy - 指示从 NICE DCV 服务器到客户端的剪贴板复制功能的可用性。

  • clipboard-paste - 指示从客户端到 NICE DCV 服务器的剪贴板粘贴功能的可用性。

  • audio-in - 指示使用麦克风的音频输入功能的可用性。

  • audio-out - 指示音频播放功能的可用性。

  • webcam - 指示网络摄像头流功能的可用性。

  • file-download - 指示从 NICE DCV 服务器到客户端的文件下载功能的可用性。

  • file-upload - 指示从客户端到 NICE DCV 服务器的文件上传功能的可用性。

  • timezone-redirection - 指示时区重定向功能的可用性(自 NICE DCV Web Client SDK 版本 1.3.0 起)。

类型:

  • 字符串

featuresUpdateCallback(featuresList)

在功能状态发生变化时调用的回调函数。

参数:

名称 类型 描述
featuresList Array.<feature> 一系列已更改的功能。

fileDownloadCallback(fileResource)

在准备好从 NICE DCV 服务器下载文件时调用的回调函数。

参数:

名称 类型 描述
fileResource 对象 有关准备好下载的文件的信息。
名称 类型 描述
id 字符串 文件的标识符。
url 字符串 用于下载文件的 URL。
domain 字符串 资源域。
token 字符串 用于下载文件的身份验证令牌。该令牌还包含在 URL 中。

filePrintedCallback(printResource)

在 NICE DCV 服务器上打印文件时调用的回调函数。

参数:

名称 类型 描述
printResource 对象 有关打印的文件的信息。
名称 类型 描述
id 字符串 打印的文件的标识符。
url 字符串 用于下载打印的文件的 URL。
domain 字符串 资源域。此处为 printer
token 字符串 用于下载打印的文件的身份验证令牌。该令牌还包含在 URL 中。

filestorage

允许在文件系统上浏览和执行操作的对象。

类型:

  • 对象

属性:

名称 类型 描述
list list 该函数允许列出服务器上的提供路径中存在的项目(文件和目录)。
createDirectory createDirectory 该函数允许在服务器上的指定路径中创建目录。
retrieveFile retrieveFile 该函数允许将文件下载到服务器上的指定路径本地。
deleteFile deleteFile 该函数允许删除服务器上的指定路径中的文件。
renameFile renameFile 该函数允许将文件从指定源路径重命名为指定目标路径。
renameDirectory renameDirectory 该函数允许将目录从指定源路径重命名为绝对目标路径。
storeFile storeFile 该函数允许将本地文件上传到服务器上的提供路径。

filestorageEnabledCallback(enabled)

在启用文件存储时调用的回调函数。仅 Internet Explorer 11 上的延迟通道。

参数:

名称 类型 说明
enabled 布尔值 指示是否启用了文件存储。

FileStorageErrorCode

DCV 模块中提供的 FileStorageError 代码枚举

  • CANCELLED

  • ABORTED

  • INVALID_ARGUMENT

  • NOT_IMPLEMENTED

  • ERROR

  • ALREADY_EXIST

  • NOT_FOUND

类型:

  • number

firstFrameCallback(resizeEnabled, relativeMouseModeEnabled, displayId)

从 NICE DCV 服务器收到第一帧时调用的回调函数。为每个显示器发出。

参数:

名称 类型 说明
resizeEnabled 布尔值 指示服务器是否支持调整客户端显示布局的大小。
relativeMouseModeEnabled 布尔值 指示服务器是否支持相对鼠标模式。
displayId number 显示器的标识符。

idleWarningNotificationCallback(disconnectionDateTime)

在 NICE DCV 服务器发送空闲超时警告时调用的回调函数。

参数:

名称 类型 说明
disconnectionDateTime 日期 断开连接日期和时间。

collaboratorListCallback(collaborators)

在 NICE DCV 服务器发送协作者列表时调用的回调函数。

参数:

名称 类型 描述
collaborators Array.<Object> 包含有关协作者的信息的对象列表。
名称 类型 描述
username 字符串 协作者的用户名。
owner 布尔值 指示协作者是否为会话所有者。
connectionId number 指示服务器为连接分配的 ID。

licenseNotificationCallback(notification)

在 NICE DCV 服务器发送有关许可证状态的通知时调用的回调函数。

参数:

名称 类型 描述
notification 对象 通知。
名称 类型 描述
product 字符串 DCV 产品。
status 字符串 许可证的状态。
message 字符串 消息。
leftDays number 许可证过期前的天数。
isDemo 布尔值 指示许可证是否为演示许可证。
numUnlicensed number 未许可的连接数。
licensingMode 字符串 许可模式。
documentationUrl 字符串 文档的 URL。

list(path)

参数:

名称 类型 描述
path 字符串 我们要列出内容的服务器上的绝对路径。

LogLevel

可用的 SDK 日志级别。

类型:

  • TRACE | DEBUG | INFO | WARN | ERROR | SILENT

监控

类型:

  • 对象

属性:

名称 类型 描述
name 字符串 显示头的名称。
rect 对象 有关显示头的信息。
名称 类型 描述
x number 显示头的初始 x 坐标。
y number 显示头的初始 y 坐标。
width number 显示头的宽度(以像素为单位)。
height number 显示头的高度(以像素为单位)。
primary 布尔值 指示显示头是否为主显示头。这是从远程操作系统(如果可用)中确定的。
dpi number 显示头的 DPI。

MultiMonitorErrorCode

DCV 模块中提供的 MultiMonitorError 代码枚举

  • NO_DISPLAY_CHANNEL

  • MAX_DISPLAY_NUMBER_REACHED

  • INVALID_ARGUMENT

  • DISPLAY_NOT_OPENED_BY_SERVER

  • REQUEST_TIMEOUT

  • GENERIC_ERROR

  • NO_ERROR

类型:

  • number

qualityIndicatorStateCallback(state)

在连接质量指标改变状态时调用的回调函数。

参数:

名称 类型 描述
state Array.<Object> 有关连接质量的信息。
名称 类型 描述
name 字符串 指标的名称。
status NORMAL | WARNING | CRITICAL 状态描述。
changed 布尔值 指示状态是否发生变化。

renameDirectory(src, dest)

参数:

名称 类型 描述
src 字符串 服务器上的绝对源路径,指定我们要重命名的目录。
dest 字符串 服务器上的绝对目标路径,指定目标路径和目录名。

renameFile(src, dest)

参数:

名称 类型 描述
src 字符串 服务器上的绝对源路径,指定我们要重命名的文件。
dest 字符串 服务器上的绝对目标路径,指定目标路径和文件名。

ResolutionErrorCode

DCV 模块中提供的 ResolutionError 代码枚举

  • INVALID_ARGUMENT

  • NO_CHANNEL

  • NOT_IMPLEMENTED

类型:

  • number

retrieveFile(path)

参数:

名称 类型 描述
path 字符串 服务器上的绝对路径,指定我们要下载到本地的文件。

screenshotCallback(screenshot)

在屏幕截图可用时调用的回调函数。

参数:

名称 类型 描述
screenshot byte[] PNG 格式的屏幕截图缓冲区或 null(如果屏幕截图检索失败)。

ScreenshotErrorCode

DCV 模块中提供的 ScreenshotError 代码枚举

  • NO_CHANNEL

  • GENERIC_ERROR

类型:

  • number

serverInfo

类型:

  • 对象

属性:

名称 类型 描述
name 字符串 软件的名称。
version 对象 软件版本号。
名称 类型 描述
major number 主要版本号。
minor number 次要版本号。
revision number 修订版本号。
os 字符串 操作系统。
arch 字符串 架构。
hostname 字符串 主机名。

stats

类型:

  • 对象

属性:

名称 类型 描述
fps number 当前的每秒帧数。
traffic number 当前的流量(以位/秒为单位)。
peakTraffic number 自建立连接以来的流量峰值(以位/秒为单位)。
latency number 当前的延迟(以毫秒为单位)。
currentChannels number 自建立连接以来打开的通道数。
openedChannels number 当前打开的通道数。
channelErrors number 报告错误的通道数。

storeFile(file, dir)

参数:

名称 类型 描述
file 文件 我们要上传到服务器的文件对象(有关更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/API/File)。
dir 字符串 我们要将文件上传到的服务器上的绝对路径。

TimezoneRedirectionErrorCode

DCV 模块中提供的 TimezoneRedirectionError 代码枚举

  • INVALID_ARGUMENT

  • NO_CHANNEL

  • USER_CANNOT_CHANGE

类型:

  • number

TimezoneRedirectionSettingCode

DCV 模块中提供的 TimezoneRedirectionSetting 代码枚举

  • ALWAYS_OFF

  • ALWAYS_ON

  • CLIENT_DECIDES

类型:

  • number

TimezoneRedirectionStatusCode

DCV 模块中提供的 TimezoneRedirectionStatus 代码枚举

  • SUCCESS

  • PERMISSION_ERROR

  • GENERIC_ERROR

类型:

  • number

WebcamErrorCode

DCV 模块中提供的 WebcamError 代码枚举

  • SETTING_WEBCAM_FAILED

  • CHANNEL_NOT_AVAILABLE

类型:

  • number