Fetch the repository succeeded.
This action will force synchronization from OpenHarmony/interface_sdk-js, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
/*
* Copyright (c) 2021-2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file
* @kit NetworkKit
*/
import type { AsyncCallback, Callback, ErrorCallback } from './@ohos.base';
import connection from "./@ohos.net.connection";
import type cert from './@ohos.security.cert';
/**
* Provides TCP and UDP Socket APIs.
* @namespace socket
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Provides TCP and UDP Socket APIs.
* @namespace socket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
declare namespace socket {
export import NetAddress = connection.NetAddress;
/**
* Deposit certificate
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Deposit certificate
* @typedef { cert.EncodingBlob }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export type X509CertRawData = cert.EncodingBlob;
/**
* Creates a UDPSocket object.
* @returns { UDPSocket } the UDPSocket of the constructUDPSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Creates a UDPSocket object.
* @returns { UDPSocket } the UDPSocket of the constructUDPSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
function constructUDPSocketInstance(): UDPSocket;
/**
* Creates a MulticastSocket object.
* @returns { MulticastSocket } the MulticastSocket of the constructMulticastSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Creates a MulticastSocket object.
* @returns { MulticastSocket } the MulticastSocket of the constructMulticastSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
function constructMulticastSocketInstance(): MulticastSocket;
/**
* Creates a TCPSocket object.
* @returns { TCPSocket } the TCPSocket of the constructTCPSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Creates a TCPSocket object.
* @returns { TCPSocket } the TCPSocket of the constructTCPSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
function constructTCPSocketInstance(): TCPSocket;
/**
* Creates a TLSSocket object.
* @returns { TLSSocket } the TLSSocket of the constructTLSSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Creates a TLSSocket object.
* @returns { TLSSocket } the TLSSocket of the constructTLSSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
function constructTLSSocketInstance(): TLSSocket;
/**
* Creates a TLSSocket object with a TCPSocket object.
* @param { TCPSocket } tcpSocket - Parameter for creating a TLSSocket object.
* @returns { TLSSocket } the TLSSocket of the constructTLSSocketInstance.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303601 - Invalid socket FD.
* @throws { BusinessError } 2303602 - Socket is not connected.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
function constructTLSSocketInstance(tcpSocket: TCPSocket): TLSSocket;
/**
* Creates a TCPSocketServer object.
* @returns { TCPSocketServer } the TCPSocketServer of the constructTCPSocketServerInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
function constructTCPSocketServerInstance(): TCPSocketServer;
/**
* Creates a TLSSocketServer object.
* @returns { TLSSocketServer } the TLSSocketServer of the constructTLSSocketServerInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
function constructTLSSocketServerInstance(): TLSSocketServer;
/**
* Creates a LocalSocket object.
* @returns { LocalSocket } the LocalSocket of the constructLocalSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Creates a LocalSocket object.
* @returns { LocalSocket } the LocalSocket of the constructLocalSocketInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
function constructLocalSocketInstance(): LocalSocket;
/**
* Creates a LocalSocketServer object.
* @returns { LocalSocketServer } the LocalSocketServer of the constructLocalSocketServerInstance.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Creates a LocalSocketServer object.
* @returns { LocalSocketServer } the LocalSocketServer of the constructLocalSocketServerInstance.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
function constructLocalSocketServerInstance(): LocalSocketServer;
/**
* Defines the parameters for sending data over the UDPSocket connection.
* @interface UDPSendOptions
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines the parameters for sending data over the UDPSocket connection.
* @interface UDPSendOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface UDPSendOptions {
/**
* Data to send.
* @type {string | ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Data to send.
* @type {string | ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
data: string | ArrayBuffer;
/**
* Destination address.
* @type {NetAddress}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Destination address.
* @type {NetAddress}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
address: NetAddress;
}
/**
* @interface ExtraOptionsBase
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* @interface ExtraOptionsBase
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface ExtraOptionsBase {
/**
* Size of the receive buffer, in MBS.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Size of the receive buffer, in MBS.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
receiveBufferSize?: number;
/**
* Size of the send buffer, in MBS.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Size of the send buffer, in MBS.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
sendBufferSize?: number;
/**
* Whether to reuse addresses. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether to reuse addresses. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
reuseAddress?: boolean;
/**
* Timeout duration of the UDPSocket connection, in milliseconds.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Timeout duration of the UDPSocket connection, in milliseconds.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
socketTimeout?: number;
}
/**
* Defines other properties of the UDPSocket connection.
* @interface UDPExtraOptions
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines other properties of the UDPSocket connection.
* @interface UDPExtraOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface UDPExtraOptions extends ExtraOptionsBase {
/**
* Whether to send broadcast messages. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether to send broadcast messages. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
broadcast?: boolean;
}
/**
* Defines the status of the socket connection.
* @interface SocketStateBase
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines the status of the socket connection.
* @interface SocketStateBase
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface SocketStateBase {
/**
* Whether the connection is in the bound state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether the connection is in the bound state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
isBound: boolean;
/**
* Whether the connection is in the closed state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether the connection is in the closed state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
isClose: boolean;
/**
* Whether the connection is in the connected state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether the connection is in the connected state.
* @type {boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
isConnected: boolean;
}
/**
* Defines information about the socket connection.
* @interface SocketRemoteInfo
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines information about the socket connection.
* @interface SocketRemoteInfo
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface SocketRemoteInfo {
/**
* Bound IP address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Bound IP address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
address: string;
/**
* Network protocol type. The options are as follows: IPv4, IPv6.
* @type {'IPv4' | 'IPv6'}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Network protocol type. The options are as follows: IPv4, IPv6.
* @type {'IPv4' | 'IPv6'}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
family: 'IPv4' | 'IPv6';
/**
* Port number. The value ranges from 0 to 65535.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Port number. The value ranges from 0 to 65535.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
port: number;
/**
* Length of the server response message, in bytes.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Length of the server response message, in bytes.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
size: number;
}
/**
* Defines the local socket connection information.
* @interface LocalSocketMessageInfo
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines the local socket connection information.
* @interface LocalSocketMessageInfo
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalSocketMessageInfo {
/**
* Message data.
* @type {ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Message data.
* @type {ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
message: ArrayBuffer;
/**
* Bound local socket address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Bound local socket address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
address: string;
/**
* Length of the message, in bytes.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Length of the message, in bytes.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
size: number;
}
/**
* Defines a local address.
* @interface LocalAddress
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines a local address.
* @interface LocalAddress
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalAddress {
/**
* LocalAddress address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* LocalAddress address.
* @type {string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
address: string;
}
/**
* Defines LocalSocket connection parameters.
* @interface LocalConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines LocalSocket connection parameters.
* @interface LocalConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalConnectOptions {
/**
* Bound Local address.
* @type {LocalAddress}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Bound Local address.
* @type {LocalAddress}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
address: LocalAddress;
/**
* Timeout duration of the LocalSocket connection, in milliseconds.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Timeout duration of the LocalSocket connection, in milliseconds.
* @type {?number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
timeout?: number;
}
/**
* Defines the parameters for sending data over the LocalSocket connection.
* @interface LocalSendOptions
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines the parameters for sending data over the LocalSocket connection.
* @interface LocalSendOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalSendOptions {
/**
* Data to send.
* @type {string | ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Data to send.
* @type {string | ArrayBuffer}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
data: string | ArrayBuffer;
/**
* Character encoding format.
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Character encoding format.
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
encoding?: string;
}
/**
* Defines a UDPSocket connection.
* @interface UDPSocket
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines a UDPSocket connection.
* @interface UDPSocket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface UDPSocket {
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress, callback: AsyncCallback<void>): void;
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress): Promise<void>;
/**
* Obtains the local address of a UDPSocket connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Sends data over a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPSendOptions } options - Optional parameters {@link UDPSendOptions}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sends data over a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPSendOptions } options - Optional parameters {@link UDPSendOptions}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
send(options: UDPSendOptions, callback: AsyncCallback<void>): void;
/**
* Sends data over a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPSendOptions } options - Optional parameters {@link UDPSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sends data over a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPSendOptions } options - Optional parameters {@link UDPSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
send(options: UDPSendOptions): Promise<void>;
/**
* Closes a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Closes a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(callback: AsyncCallback<void>): void;
/**
* Closes a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Closes a UDPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(): Promise<void>;
/**
* Obtains the status of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState. {@link SocketStateBase}.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the status of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState. {@link SocketStateBase}.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(callback: AsyncCallback<SocketStateBase>): void;
/**
* Obtains the status of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the status of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(): Promise<SocketStateBase>;
/**
* Sets other attributes of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPExtraOptions } options - Optional parameters {@link UDPExtraOptions}.
* @param { AsyncCallback<void> }callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets other attributes of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPExtraOptions } options - Optional parameters {@link UDPExtraOptions}.
* @param { AsyncCallback<void> }callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: UDPExtraOptions, callback: AsyncCallback<void>): void;
/**
* Sets other attributes of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPExtraOptions } options - Optional parameters {@link UDPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets other attributes of the UDPSocket connection.
* @permission ohos.permission.INTERNET
* @param { UDPExtraOptions } options - Optional parameters {@link UDPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: UDPExtraOptions): Promise<void>;
/**
* Listens for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Listens for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
on(type: 'message', callback: Callback<SocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Cancels listening for message receiving events of the UDPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
off(type: 'message', callback?: Callback<SocketMessageInfo>): void;
/**
* Listens for data packet message events or close events of the UDPSocket connection.
* @param { 'listening' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for data packet message events or close events of the UDPSocket connection.
* @param { 'listening' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'listening' | 'close', callback: Callback<void>): void;
/**
* Cancels listening for data packet message events or close events of the UDPSocket connection.
* @param { 'listening' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for data packet message events or close events of the UDPSocket connection.
* @param { 'listening' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'listening' | 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the UDPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for error events of the UDPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the UDPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for error events of the UDPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines a UDP MulticastSocket connection.
* @interface MulticastSocket
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines a UDP MulticastSocket connection.
* @interface MulticastSocket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface MulticastSocket extends UDPSocket {
/**
* Add the socket to the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @param { AsyncCallback<void> } callback - The callback of addMembership.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Add the socket to the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @param { AsyncCallback<void> } callback - The callback of addMembership.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
addMembership(multicastAddress: NetAddress, callback: AsyncCallback<void>): void;
/**
* Add the socket to the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Add the socket to the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
addMembership(multicastAddress: NetAddress): Promise<void>;
/**
* Drop the socket from the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @param { AsyncCallback<void> } callback - The callback of dropMembership.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Drop the socket from the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @param { AsyncCallback<void> } callback - The callback of dropMembership.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
dropMembership(multicastAddress: NetAddress, callback: AsyncCallback<void>): void;
/**
* Drop the socket from the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Drop the socket from the multicast group.
* @permission ohos.permission.INTERNET
* @param { NetAddress } multicastAddress - Multicast address information. {@link NetAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @throws { BusinessError } 2301098 - Address in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
dropMembership(multicastAddress: NetAddress): Promise<void>;
/**
* Set the TTL value for socket multicast packets.
* @param { number } ttl - The TTL value to set. Valid range is typically 0 to 255.
* @param { AsyncCallback<void> } callback - The callback of setMulticastTTL.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Set the TTL value for socket multicast packets.
* @param { number } ttl - The TTL value to set. Valid range is typically 0 to 255.
* @param { AsyncCallback<void> } callback - The callback of setMulticastTTL.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setMulticastTTL(ttl: number, callback: AsyncCallback<void>): void;
/**
* Set the TTL value for socket multicast packet.
* @param { number } ttl - The TTL value to set. Valid range is typically 0 to 255.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Set the TTL value for socket multicast packet.
* @param { number } ttl - The TTL value to set. Valid range is typically 0 to 255.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setMulticastTTL(ttl: number): Promise<void>;
/**
* Get the TTL value of socket multicast packet.
* @param { AsyncCallback<number> } callback - The callback of getMulticastTTL.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Get the TTL value of socket multicast packet.
* @param { AsyncCallback<number> } callback - The callback of getMulticastTTL.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getMulticastTTL(callback: AsyncCallback<number>): void;
/**
* Get the TTL value of socket multicast packet.
* @returns { Promise<number> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Get the TTL value of socket multicast packet.
* @returns { Promise<number> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getMulticastTTL(): Promise<number>;
/**
* Set the loopback mode for the socket.
* @param { boolean } flag - Whether to enable loopback mode.
* @param { AsyncCallback<void> } callback - The callback of setLoopbackMode.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Set the loopback mode for the socket.
* @param { boolean } flag - Whether to enable loopback mode.
* @param { AsyncCallback<void> } callback - The callback of setLoopbackMode.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setLoopbackMode(flag: boolean, callback: AsyncCallback<void>): void;
/**
* Set the loopback mode for the socket.
* @param { boolean } flag - Whether to enable loopback mode.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Set the loopback mode for the socket.
* @param { boolean } flag - Whether to enable loopback mode.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setLoopbackMode(flag: boolean): Promise<void>;
/**
* Get the loopback mode of the socket.
* @param { AsyncCallback<boolean> } callback - The callback of getLoopbackMode.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Get the loopback mode of the socket.
* @param { AsyncCallback<boolean> } callback - The callback of getLoopbackMode.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getLoopbackMode(callback: AsyncCallback<boolean>): void;
/**
* Get the loopback mode of the socket.
* @returns { Promise<boolean> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Get the loopback mode of the socket.
* @returns { Promise<boolean> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301088 - Not a socket.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getLoopbackMode(): Promise<boolean>;
}
/**
* Defines a LocalSocket connection.
* @interface LocalSocket
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines a LocalSocket connection.
* @interface LocalSocket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalSocket {
/**
* Binds the Local address.
* @param { LocalAddress } address - Destination address. {@link LocalAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301098 - Address already in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Binds the Local address.
* @param { LocalAddress } address - Destination address. {@link LocalAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301098 - Address already in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
bind(address: LocalAddress): Promise<void>;
/**
* Sets up a connection to the specified Local address .
* @param { LocalConnectOptions } options - Optional parameters {@link LocalConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301111 - Connection refused.
* @throws { BusinessError } 2301099 - Cannot assign requested address.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Sets up a connection to the specified Local address .
* @param { LocalConnectOptions } options - Optional parameters {@link LocalConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301111 - Connection refused.
* @throws { BusinessError } 2301099 - Cannot assign requested address.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
connect(options: LocalConnectOptions): Promise<void>;
/**
* Sends data over a LocalSocket connection.
* @param { LocalSendOptions } options - Optional parameters {@link LocalSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301011 - Operation would block.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Sends data over a LocalSocket connection.
* @param { LocalSendOptions } options - Optional parameters {@link LocalSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301011 - Operation would block.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
send(options: LocalSendOptions): Promise<void>;
/**
* Closes a LocalSocket connection.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Closes a LocalSocket connection.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
close(): Promise<void>;
/**
* Obtains the status of the LocalSocket connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Obtains the status of the LocalSocket connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getState(): Promise<SocketStateBase>;
/**
* Obtains the file descriptor of the LocalSocket connection.
* @returns { Promise<number> } The promise returns the file descriptor of the LocalSocket connection.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Obtains the file descriptor of the LocalSocket connection.
* @returns { Promise<number> } The promise returns the file descriptor of the LocalSocket connection.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getSocketFd(): Promise<number>;
/**
* Sets other attributes of the LocalSocket connection.
* @param { ExtraOptionsBase } options - Optional parameters {@link ExtraOptionsBase}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Sets other attributes of the LocalSocket connection.
* @param { ExtraOptionsBase } options - Optional parameters {@link ExtraOptionsBase}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setExtraOptions(options: ExtraOptionsBase): Promise<void>;
/**
* Gets other attributes of the LocalSocket connection.
* @returns { Promise<ExtraOptionsBase> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Gets other attributes of the LocalSocket connection.
* @returns { Promise<ExtraOptionsBase> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getExtraOptions(): Promise<ExtraOptionsBase>;
/**
* Obtains the local address of a LocalSocket connection.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<string>;
/**
* Listens for message receiving events of the LocalSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for message receiving events of the LocalSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'message', callback: Callback<LocalSocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the LocalSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for message receiving events of the LocalSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'message', callback?: Callback<LocalSocketMessageInfo>): void;
/**
* Listens for connection events of the LocalSocket connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for connection events of the LocalSocket connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'connect', callback: Callback<void>): void;
/**
* Cancels listening for connection events of the LocalSocket connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for connection events of the LocalSocket connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'connect', callback?: Callback<void>): void;
/**
* Listens for close events of the LocalSocket connection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for close events of the LocalSocket connection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'close', callback: Callback<void>): void;
/**
* Cancels listening for close events of the LocalSocket connection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for close events of the LocalSocket connection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the LocalSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for error events of the LocalSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the LocalSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for error events of the LocalSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines the connection of the LocalSocket client and server.
* @interface LocalSocketConnection
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines the connection of the LocalSocket client and server.
* @interface LocalSocketConnection
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalSocketConnection {
/**
* The id of a client connects to the LocalSocketServer.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* The id of a client connects to the LocalSocketServer.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
clientId: number;
/**
* Sends data over a LocalSocketServer connection to client.
* @param { LocalSendOptions } options - Parameters for sending data {@link LocalSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301011 - Operation would block.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Sends data over a LocalSocketServer connection to client.
* @param { LocalSendOptions } options - Parameters for sending data {@link LocalSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301011 - Operation would block.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
send(options: LocalSendOptions): Promise<void>;
/**
* Closes a LocalSocket client connection.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Closes a LocalSocket client connection.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
close(): Promise<void>;
/**
* Obtains the local address of a LocalSocket client connection.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<string>;
/**
* Listens for message receiving events of the LocalSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for message receiving events of the LocalSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'message', callback: Callback<LocalSocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the LocalSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for message receiving events of the LocalSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<LocalSocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'message', callback?: Callback<LocalSocketMessageInfo>): void;
/**
* Listens for close events of the LocalSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for close events of the LocalSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'close', callback: Callback<void>): void;
/**
* Cancels listening for close events of the LocalSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for close events of the LocalSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the LocalSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for error events of the LocalSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the LocalSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for error events of the LocalSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines a LocalSocket server connection.
* @interface LocalSocketServer
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Defines a LocalSocket server connection.
* @interface LocalSocketServer
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
export interface LocalSocketServer {
/**
* Binds the Local address.
* <p>Listens for a LocalSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @param { LocalAddress } address - Network address information {@link LocalAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301098 - Address already in use.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Binds the Local address.
* <p>Listens for a LocalSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @param { LocalAddress } address - Network address information {@link LocalAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2301013 - Insufficient permissions.
* @throws { BusinessError } 2301022 - Invalid argument.
* @throws { BusinessError } 2301098 - Address already in use.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
listen(address: LocalAddress): Promise<void>;
/**
* Obtains the status of the LocalSocketServer connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Obtains the status of the LocalSocketServer connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getState(): Promise<SocketStateBase>;
/**
* Sets other attributes of the LocalSocketServer connection.
* @param { ExtraOptionsBase } options - Parameters of the attributes {@link ExtraOptionsBase}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Sets other attributes of the LocalSocketServer connection.
* @param { ExtraOptionsBase } options - Parameters of the attributes {@link ExtraOptionsBase}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
setExtraOptions(options: ExtraOptionsBase): Promise<void>;
/**
* Gets other attributes of the LocalSocket connection.
* @returns { Promise<ExtraOptionsBase> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Gets other attributes of the LocalSocket connection.
* @returns { Promise<ExtraOptionsBase> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
getExtraOptions(): Promise<ExtraOptionsBase>;
/**
* Obtains the local address of the LocalSocketServer connection.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<string>;
/**
* Listens for connect events of the LocalSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<LocalSocketConnection> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for connect events of the LocalSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<LocalSocketConnection> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'connect', callback: Callback<LocalSocketConnection>): void;
/**
* Cancels listening for connect events of the LocalSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<LocalSocketConnection> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for connect events of the LocalSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<LocalSocketConnection> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'connect', callback?: Callback<LocalSocketConnection>): void;
/**
* Listens for error events of the LocalSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for error events of the LocalSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the LocalSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for error events of the LocalSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines TCPSocket connection parameters.
* @interface TCPConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines TCPSocket connection parameters.
* @interface TCPConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TCPConnectOptions {
/**
* Bound IP address and port number.
* @type { NetAddress }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Bound IP address and port number.
* @type { NetAddress }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
address: NetAddress;
/**
* Timeout duration of the TCPSocket connection, in milliseconds.
* @type { ?number }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Timeout duration of the TCPSocket connection, in milliseconds.
* @type { ?number }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
timeout?: number;
}
/**
* Defines the parameters for sending data over the TCPSocket connection.
* @interface TCPSendOptions
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines the parameters for sending data over the TCPSocket connection.
* @interface TCPSendOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TCPSendOptions {
/**
* Data to send.
* @type { string | ArrayBuffer }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Data to send.
* @type { string | ArrayBuffer }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
data: string | ArrayBuffer;
/**
* Character encoding format.
* @type { ?string }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Character encoding format.
* @type { ?string }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
encoding?: string;
}
/**
* Defines other properties of the TCPSocket connection.
* @interface TCPExtraOptions
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines other properties of the TCPSocket connection.
* @interface TCPExtraOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TCPExtraOptions extends ExtraOptionsBase {
/**
* Whether to keep the connection alive. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether to keep the connection alive. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
keepAlive?: boolean;
/**
* Whether to enable OOBInline. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether to enable OOBInline. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
OOBInline?: boolean;
/**
* Whether to enable no-delay on the TCPSocket connection. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Whether to enable no-delay on the TCPSocket connection. The default value is false.
* @type { ?boolean }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
TCPNoDelay?: boolean;
/**
* Socket linger.
* @type { ?object }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 7
*/
/**
* Socket linger.
* @type { ?object }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
socketLinger?: { on: boolean, linger: number };
}
/**
* Defines a TCPSocket connection.
* @interface TCPSocket
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Defines a TCPSocket connection.
* @interface TCPSocket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TCPSocket {
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - Return the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress, callback: AsyncCallback<void>): void;
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress): Promise<void>;
/**
* Sets up a connection to the specified IP address and port number.
* @permission ohos.permission.INTERNET
* @param { TCPConnectOptions } options - Optional parameters {@link TCPConnectOptions}.
* @param { AsyncCallback<void> } callback - the callback of connect.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets up a connection to the specified IP address and port number.
* @permission ohos.permission.INTERNET
* @param { TCPConnectOptions } options - Optional parameters {@link TCPConnectOptions}.
* @param { AsyncCallback<void> } callback - the callback of connect.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
connect(options: TCPConnectOptions, callback: AsyncCallback<void>): void;
/**
* Sets up a connection to the specified IP address and port number.
* @permission ohos.permission.INTERNET
* @param { TCPConnectOptions } options - Optional parameters {@link TCPConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets up a connection to the specified IP address and port number.
* @permission ohos.permission.INTERNET
* @param { TCPConnectOptions } options - Optional parameters {@link TCPConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
connect(options: TCPConnectOptions): Promise<void>;
/**
* Sends data over a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Optional parameters {@link TCPSendOptions}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sends data over a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Optional parameters {@link TCPSendOptions}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
send(options: TCPSendOptions, callback: AsyncCallback<void>): void;
/**
* Sends data over a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Optional parameters {@link TCPSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sends data over a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Optional parameters {@link TCPSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
send(options: TCPSendOptions): Promise<void>;
/**
* Closes a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Closes a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(callback: AsyncCallback<void>): void;
/**
* Closes a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Closes a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(): Promise<void>;
/**
* Obtains the peer address of a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<NetAddress> } callback - the callback of getRemoteAddress. {@link NetAddress}
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the peer address of a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<NetAddress> } callback - the callback of getRemoteAddress. {@link NetAddress}
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteAddress(callback: AsyncCallback<NetAddress>): void;
/**
* Obtains the peer address of a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the peer address of a TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteAddress(): Promise<NetAddress>;
/**
* Obtains the status of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState. {@link SocketStateBase}
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the status of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState. {@link SocketStateBase}
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(callback: AsyncCallback<SocketStateBase>): void;
/**
* Obtains the status of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Obtains the status of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(): Promise<SocketStateBase>;
/**
* Obtains the file descriptor of the TCPSocket connection.
* @param { AsyncCallback<number> } callback - The callback returns the file descriptor of the TCPSocket connection.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getSocketFd(callback: AsyncCallback<number>): void;
/**
* Obtains the file descriptor of the TCPSocket connection.
* @returns { Promise<number> } The promise returns the file descriptor of the TCPSocket connection.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getSocketFd(): Promise<number>;
/**
* Sets other attributes of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets other attributes of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback<void>): void;
/**
* Sets other attributes of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Sets other attributes of the TCPSocket connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: TCPExtraOptions): Promise<void>;
/**
* Obtains the local address of a TCPSocket connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for message receiving events of the TCPSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for message receiving events of the TCPSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Listens for message receiving events of the TCPSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
on(type: 'message', callback: Callback<SocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the TCPSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for message receiving events of the TCPSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Cancels listening for message receiving events of the TCPSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
off(type: 'message', callback?: Callback<SocketMessageInfo>): void;
/**
* Listens for connection or close events of the TCPSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for connection or close events of the TCPSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'connect' | 'close', callback: Callback<void>): void;
/**
* Cancels listening for connection or close events of the TCPSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for connection or close events of the TCPSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'connect' | 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the TCPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Listens for error events of the TCPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TCPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @since 7
*/
/**
* Cancels listening for error events of the TCPSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines a TLSSocket connection.
* @interface TLSSocket
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Defines a TLSSocket connection.
* @interface TLSSocket
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TLSSocket {
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @param { AsyncCallback<void> } callback - the callback of bind.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress, callback: AsyncCallback<void>): void;
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Binds the IP address and port number. The port number can be specified or randomly allocated by the system.
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Destination address. {@link NetAddress}
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
bind(address: NetAddress): Promise<void>;
/**
* Obtains the peer address of a TLSSocket connection.
* @param { AsyncCallback<NetAddress> } callback - the callback of getRemoteAddress.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Obtains the peer address of a TLSSocket connection.
* @param { AsyncCallback<NetAddress> } callback - the callback of getRemoteAddress.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteAddress(callback: AsyncCallback<NetAddress>): void;
/**
* Obtains the peer address of a TLSSocket connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Obtains the peer address of a TLSSocket connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteAddress(): Promise<NetAddress>;
/**
* Obtains the status of the TLSSocket connection.
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Obtains the status of the TLSSocket connection.
* @param { AsyncCallback<SocketStateBase> } callback - the callback of getState.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(callback: AsyncCallback<SocketStateBase>): void;
/**
* Obtains the status of the TLSSocket connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Obtains the status of the TLSSocket connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getState(): Promise<SocketStateBase>;
/**
* Sets other attributes of the TLSSocket connection.
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sets other attributes of the TLSSocket connection.
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - the callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback<void>): void;
/**
* Sets other attributes of the TLSSocket connection.
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sets other attributes of the TLSSocket connection.
* @param { TCPExtraOptions } options - Optional parameters {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
setExtraOptions(options: TCPExtraOptions): Promise<void>;
/**
* Obtains the local address of a TLSSocket connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for message receiving events of the TLSSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Listens for message receiving events of the TLSSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Listens for message receiving events of the TLSSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
on(type: 'message', callback: Callback<SocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the TLSSocket connection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Cancels listening for message receiving events of the TLSSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Cancels listening for message receiving events of the TLSSocket connection.
* @param { 'message' } type Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
off(type: 'message', callback?: Callback<SocketMessageInfo>): void;
/**
* Listens for connection or close events of the TLSSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param {Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Listens for connection or close events of the TLSSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param {Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'connect' | 'close', callback: Callback<void>): void;
/**
* Cancels listening for connection or close events of the TLSSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param {Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Cancels listening for connection or close events of the TLSSocket connection.
* @param { 'connect' | 'close' } type - Indicates Event name.
* @param {Callback<void> } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'connect' | 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the TLSSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Listens for error events of the TLSSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TLSSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Cancels listening for error events of the TLSSocket connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - the callback used to return the result.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
/**
* Returns an object representing a local certificate.
* @param { AsyncCallback<X509CertRawData> } callback - the callback of getCertificate.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns an object representing a local certificate.
* @param { AsyncCallback<X509CertRawData> } callback - the callback of getCertificate.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getCertificate(callback: AsyncCallback<X509CertRawData>): void;
/**
* Returns an object representing a local certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns an object representing a local certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getCertificate(): Promise<X509CertRawData>;
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* <p>an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @param { AsyncCallback<X509CertRawData> } callback - the callback of getRemoteCertificate.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* <p>an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @param { AsyncCallback<X509CertRawData> } callback - the callback of getRemoteCertificate.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteCertificate(callback: AsyncCallback<X509CertRawData>): void;
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* <p>an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* <p>an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getRemoteCertificate(): Promise<X509CertRawData>;
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @param { AsyncCallback<string> } callback - the callback of getProtocol.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @param { AsyncCallback<string> } callback - the callback of getProtocol.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getProtocol(callback: AsyncCallback<string>): void;
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getProtocol(): Promise<string>;
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @param { AsyncCallback<Array<string>> } callback - the callback of getCipherSuite.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @param { AsyncCallback<Array<string>> } callback - the callback of getCipherSuite.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getCipherSuite(callback: AsyncCallback<Array<string>>): void;
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @returns { Promise<Array<string>> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @returns { Promise<Array<string>> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getCipherSuite(): Promise<Array<string>>;
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @param { AsyncCallback<Array<string>> } callback - the callback of getSignatureAlgorithms.@see https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @param { AsyncCallback<Array<string>> } callback - the callback of getSignatureAlgorithms.@see https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getSignatureAlgorithms(callback: AsyncCallback<Array<string>>): void;
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @returns { Promise<Array<string>> } The promise returned by the function.@see https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @returns { Promise<Array<string>> } The promise returned by the function.@see https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
getSignatureAlgorithms(): Promise<Array<string>>;
/**
* Sets up a connection to the specified IP address and port number.
* Only TCP is supported.
* @param { TLSConnectOptions } options - Optional parameters {@link TLSConnectOptions}.
* @param { AsyncCallback<void> } callback - the callback of connect.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303104 - Interrupted system call.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2303191 - Incorrect socket protocol type.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303210 - Connection timed out.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sets up a connection to the specified IP address and port number.
* Only TCP is supported.
* @param { TLSConnectOptions } options - Optional parameters {@link TLSConnectOptions}.
* @param { AsyncCallback<void> } callback - the callback of connect.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303104 - Interrupted system call.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2303191 - Incorrect socket protocol type.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303210 - Connection timed out.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
connect(options: TLSConnectOptions, callback: AsyncCallback<void>): void;
/**
* Sets up a connection to the specified IP address and port number.
* Only TCP is supported.
* @param { TLSConnectOptions } options - Optional parameters {@link TLSConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303104 - Interrupted system call.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2303191 - Incorrect socket protocol type.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303210 - Connection timed out.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sets up a connection to the specified IP address and port number.
* Only TCP is supported.
* @param { TLSConnectOptions } options - Optional parameters {@link TLSConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303104 - Interrupted system call.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2303191 - Incorrect socket protocol type.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303210 - Connection timed out.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
connect(options: TLSConnectOptions): Promise<void>;
/**
* Sends data over a TLSSocket connection.
* @param { string } data - Parameters for sending data {@link string}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sends data over a TLSSocket connection.
* @param { string } data - Parameters for sending data {@link string}.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Sends data over a TLSSocket connection.
* @param { string | ArrayBuffer } data - Parameters for sending data.
* @param { AsyncCallback<void> } callback - the callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
send(data: string | ArrayBuffer, callback: AsyncCallback<void>): void;
/**
* Sends data over a TLSSocket connection.
* @param { string } data - Parameters for sending data {@link string}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Sends data over a TLSSocket connection.
* @param { string } data - Parameters for sending data {@link string}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Sends data over a TLSSocket connection.
* @param { string | ArrayBuffer } data - Parameters for sending data.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
send(data: string | ArrayBuffer): Promise<void>;
/**
* Closes a TLSSocket connection
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Closes a TLSSocket connection
* @param { AsyncCallback<void> } callback - the callback of close.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(callback: AsyncCallback<void>): void;
/**
* Closes a TLSSocket connection
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Closes a TLSSocket connection
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
close(): Promise<void>;
}
/**
* Defines TLS security options. The CA certificate is mandatory, and other parameters are optional.
* @interface TLSSecureOptions
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Defines TLS security options. The CA certificate is mandatory, and other parameters are optional.
* @interface TLSSecureOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TLSSecureOptions {
/**
* Certificate used to verify the identity of the server
* @type {string | Array<string>}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Certificate used to verify the identity of the server.
* @type {string | Array<string>}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
/**
* Certificate used to verify the identity of the server, if it is not set, use system ca.
* @type {?(string | Array<string>)}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
ca?: string | Array<string>;
/**
* Certificate proving the identity of the client
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Certificate proving the identity of the client
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
cert?: string;
/**
* Private key of client certificate
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Private key of client certificate
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
key?: string;
/**
* Password of the private key
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Password of the private key
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
password?: string;
/**
* TLS protocol version
* @type {?Protocol | Array<Protocol>}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* TLS protocol version
* @type {?(Protocol | Array<Protocol>)}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
protocols?: Protocol | Array<Protocol>;
/**
* default is false, use local cipher.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* default is false, use local cipher.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
useRemoteCipherPrefer?: boolean;
/**
* <P>Supported signature algorithms. This string can contain summary algorithms(SHA256,MD5,etc),Public key algorithm(RSA-PSS,ECDSA,etc),
* Combination of the two(For example 'RSA+SHA384') or TLS v1.3 Scheme name(For example rsa_pss_pss_sha512)</P>
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* <P>Supported signature algorithms. This string can contain summary algorithms(SHA256,MD5,etc),Public key algorithm(RSA-PSS,ECDSA,etc),
* Combination of the two(For example 'RSA+SHA384') or TLS v1.3 Scheme name(For example rsa_pss_pss_sha512)</P>
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
signatureAlgorithms?: string;
/**
* Crypto suite specification
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Crypto suite specification
* @type {?string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
cipherSuite?: string;
/**
* Used to set up bidirectional authentication. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
isBidirectionalAuthentication?: boolean;
}
/**
* Defines TLS connection options.
* @interface TLSConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Defines TLS connection options.
* @interface TLSConnectOptions
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export interface TLSConnectOptions {
/**
* Gateway address.
* @type {NetAddress}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Gateway address.
* @type {NetAddress}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
address: NetAddress;
/**
* Protocol http2TLS security related operations.
* @type {TLSSecureOptions}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Protocol http2TLS security related operations.
* @type {TLSSecureOptions}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
secureOptions: TLSSecureOptions;
/**
* Application layer protocol negotiation extension, such as "spdy/1", "http/1.1", "h2"
* @type {?Array<string>}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Application layer protocol negotiation extension, such as "spdy/1", "http/1.1", "h2"
* @type {?Array<string>}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
ALPNProtocols?: Array<string>;
/**
* Skip identity verification for remote servers. The default value is false.
* @type {?boolean}
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
skipRemoteValidation?: boolean;
}
/**
* Enumerates TLS protocol versions.
* @enum {string}
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Enumerates TLS protocol versions.
* @enum {string}
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
export enum Protocol {
/**
* Use TLSv1.2 protocol for communication.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Use TLSv1.2 protocol for communication.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
TLSv12 = "TLSv1.2",
/**
* Use TLSv1.3 protocol for communication.
* @syscap SystemCapability.Communication.NetStack
* @since 9
*/
/**
* Use TLSv1.3 protocol for communication.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 10
*/
TLSv13 = "TLSv1.3"
}
/**
* Defines the connection of the TCPSocket client and server.
* @interface TCPSocketConnection
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
export interface TCPSocketConnection {
/**
* The id of a client connects to the TCPSocketServer.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
clientId: number;
/**
* Sends data over a TCPSocketServer connection to client.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Parameters for sending data {@link TCPSendOptions}.
* @param { AsyncCallback<void> } callback - The callback of send.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
send(options: TCPSendOptions, callback: AsyncCallback<void>): void;
/**
* Sends data over a TCPSocketServer connection to client.
* @permission ohos.permission.INTERNET
* @param { TCPSendOptions } options - Parameters for sending data {@link TCPSendOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
send(options: TCPSendOptions): Promise<void>;
/**
* Closes a TCPSocket client connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<void> } callback - The callback of close.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
close(callback: AsyncCallback<void>): void;
/**
* Closes a TCPSocket client connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
close(): Promise<void>;
/**
* Obtains the peer address of a TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<NetAddress> } callback - The callback of getRemoteAddress.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteAddress(callback: AsyncCallback<NetAddress>): void;
/**
* Obtains the peer address of a TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteAddress(): Promise<NetAddress>;
/**
* Obtains the local address of a TCPSocketServer connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Listens for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'message', callback: Callback<SocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Cancels listening for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for message receiving events of the TCPSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'message', callback?: Callback<SocketMessageInfo>): void;
/**
* Listens for close events of the TCPSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'close', callback: Callback<void>): void;
/**
* Cancels listening for close events of the TCPSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the TCPSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TCPSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines a TCPSocket server connection.
* @interface TCPSocketServer
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
export interface TCPSocketServer {
/**
* Binds the IP address and port number, the port number can be specified or randomly allocated by the system.
* <p>Listens for a TCPSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Network address information {@link NetAddress}.
* @param { AsyncCallback<void> } callback - The callback of listen.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
listen(address: NetAddress, callback: AsyncCallback<void>): void;
/**
* Binds the IP address and port number, the port number can be specified or randomly allocated by the system.
* <p>Listens for a TCPSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @permission ohos.permission.INTERNET
* @param { NetAddress } address - Network address information {@link NetAddress}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
listen(address: NetAddress): Promise<void>;
/**
* Obtains the status of the TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @param { AsyncCallback<SocketStateBase> } callback - The callback of getState.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getState(callback: AsyncCallback<SocketStateBase>): void;
/**
* Obtains the status of the TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getState(): Promise<SocketStateBase>;
/**
* Sets other attributes of the TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Parameters of the attributes {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - The callback of setExtraOptions.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback<void>): void;
/**
* Sets other attributes of the TCPSocketServer connection.
* @permission ohos.permission.INTERNET
* @param { TCPExtraOptions } options - Parameters of the attributes {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
setExtraOptions(options: TCPExtraOptions): Promise<void>;
/**
* Obtains the local address of a TCPSocketServer connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for connect events of the TCPSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<TCPSocketConnection> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'connect', callback: Callback<TCPSocketConnection>): void;
/**
* Cancels listening for connect events of the TCPSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<TCPSocketConnection> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'connect', callback?: Callback<TCPSocketConnection>): void;
/**
* Listens for error events of the TCPSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TCPSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines the connection of the TLSSocket client and server.
* @interface TLSSocketConnection
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
export interface TLSSocketConnection {
/**
* The id of a client connects to the TLSSocketServer.
* @type {number}
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
clientId: number;
/**
* Sends data over a TLSSocketServer connection to client.
* @param { string } data - Parameters for sending data.
* @param { AsyncCallback<void> } callback - The callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Sends data over a TLSSocketServer connection to client.
* @param { string | ArrayBuffer } data - Parameters for sending data.
* @param { AsyncCallback<void> } callback - The callback of send.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
send(data: string | ArrayBuffer, callback: AsyncCallback<void>): void;
/**
* Sends data over a TLSSocketServer connection to client.
* @param { string } data - Parameters for sending data.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Sends data over a TLSSocketServer connection to client.
* @param { string | ArrayBuffer } data - Parameters for sending data.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
send(data: string | ArrayBuffer): Promise<void>;
/**
* Closes a TLSSocket client connection.
* @param { AsyncCallback<void> } callback - The callback of close.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
close(callback: AsyncCallback<void>): void;
/**
* Closes a TLSSocket client connection.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
close(): Promise<void>;
/**
* Obtains the peer address of a TLSSocketServer connection.
* @param { AsyncCallback<NetAddress> } callback - The callback of getRemoteAddress.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteAddress(callback: AsyncCallback<NetAddress>): void;
/**
* Obtains the peer address of a TLSSocketServer connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteAddress(): Promise<NetAddress>;
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @param { AsyncCallback<X509CertRawData> } callback - The callback of getRemoteCertificate.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteCertificate(callback: AsyncCallback<X509CertRawData>): void;
/**
* <p>Returns an object representing the peer certificate. If the peer does not provide a certificate,
* an empty object will be returned. If the socket is destroyed, null is returned.</p>
* It only contains the peer's certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getRemoteCertificate(): Promise<X509CertRawData>;
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @param { AsyncCallback<Array<string>> } callback - The callback of getCipherSuite.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getCipherSuite(callback: AsyncCallback<Array<string>>): void;
/**
* Returns a list containing the negotiated cipher suite information.
* For example:{"TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}
* @returns { Promise<Array<string>> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getCipherSuite(): Promise<Array<string>>;
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @param { AsyncCallback<Array<string>> } callback - The callback of getSignatureAlgorithms.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getSignatureAlgorithms(callback: AsyncCallback<Array<string>>): void;
/**
* <p>The list of signature algorithms shared between the server and the client,
* in descending order of priority.</p>
* @returns { Promise<Array<string>> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getSignatureAlgorithms(): Promise<Array<string>>;
/**
* Obtains the local address of a TLSSocketServer connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Listens for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Listens for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
on(type: 'message', callback: Callback<SocketMessageInfo>): void;
/**
* Cancels listening for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<{ message: ArrayBuffer, remoteInfo: SocketRemoteInfo }> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
/**
* Cancels listening for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 11
*/
/**
* Cancels listening for message receiving events of the TLSSocketConnection.
* @param { 'message' } type - Indicates Event name.
* @param { Callback<SocketMessageInfo> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 12
*/
off(type: 'message', callback?: Callback<SocketMessageInfo>): void;
/**
* Listens for close events of the TLSSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'close', callback: Callback<void>): void;
/**
* Cancels listening for close events of the TLSSocketConnection.
* @param { 'close' } type - Indicates Event name.
* @param { Callback<void> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'close', callback?: Callback<void>): void;
/**
* Listens for error events of the TLSSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TLSSocketConnection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
/**
* Defines the socket connection information.
* @interface SocketMessageInfo
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
export interface SocketMessageInfo {
/**
* Receive the message event.
* @type { ArrayBuffer }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
message: ArrayBuffer;
/**
* Socket connection information.
* @type { SocketRemoteInfo }
* @syscap SystemCapability.Communication.NetStack
* @crossplatform
* @since 11
*/
remoteInfo: SocketRemoteInfo;
}
/**
* Defines a TLSSocketServer server connection.
* @interface TLSSocketServer
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
export interface TLSSocketServer {
/**
* Binds the IP address and port number, the port number can be specified or randomly allocated by the system.
* <p>Listens for a TCPSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @permission ohos.permission.INTERNET
* @param { TLSConnectOptions } options - TLS connection options {@link TLSConnectOptions}.
* @param { AsyncCallback<void> } callback - The callback of listen.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
listen(options: TLSConnectOptions, callback: AsyncCallback<void>): void;
/**
* Binds the IP address and port number, the port number can be specified or randomly allocated by the system.
* <p>Listens for a TCPSocket connection to be made to this socket and accepts it. This interface uses multiple threads
* for accept processing and uses poll multiplex to process client connections.</p>
* @permission ohos.permission.INTERNET
* @param { TLSConnectOptions } options - TLS connection options {@link TLSConnectOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2303109 - Bad file number.
* @throws { BusinessError } 2303111 - Resource temporarily unavailable. Try again.
* @throws { BusinessError } 2303198 - Address already in use.
* @throws { BusinessError } 2303199 - Cannot assign requested address.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303502 - An error occurred when reading data on the TLS socket.
* @throws { BusinessError } 2303503 - An error occurred when writing data on the TLS socket.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2303506 - Failed to close the TLS connection.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
listen(options: TLSConnectOptions): Promise<void>;
/**
* Obtains the status of the TLSSocketServer connection.
* @param { AsyncCallback<SocketStateBase> } callback - The callback of getState.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getState(callback: AsyncCallback<SocketStateBase>): void;
/**
* Obtains the status of the TLSSocketServer connection.
* @returns { Promise<SocketStateBase> } The promise returned by the function.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getState(): Promise<SocketStateBase>;
/**
* Sets other attributes of the TLSSocketServer connection.
* @param { TCPExtraOptions } options - Parameters of the attributes {@link TCPExtraOptions}.
* @param { AsyncCallback<void> } callback - The callback of setExtraOptions.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback<void>): void;
/**
* Sets other attributes of the TLSSocketServer connection.
* @param { TCPExtraOptions } options - Parameters of the attributes {@link TCPExtraOptions}.
* @returns { Promise<void> } The promise returned by the function.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
setExtraOptions(options: TCPExtraOptions): Promise<void>;
/**
* Returns an object representing a local certificate.
* @param { AsyncCallback<X509CertRawData> } callback - The callback of getCertificate.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getCertificate(callback: AsyncCallback<X509CertRawData>): void;
/**
* Returns an object representing a local certificate.
* @returns { Promise<X509CertRawData> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303504 - An error occurred when verifying the X.509 certificate.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getCertificate(): Promise<X509CertRawData>;
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @param { AsyncCallback<string> } callback - The callback of getProtocol.
* @throws { BusinessError } 401 - Parameter error.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getProtocol(callback: AsyncCallback<string>): void;
/**
* Returns a string containing the negotiated SSL/TLS protocol version of the current connection.
* For connected sockets that have not completed the handshake process, the value 'unknown' will be returned.
* Server sockets or disconnected client sockets will return a value of null.
* @returns { Promise<string> } The promise returned by the function.
* @throws { BusinessError } 2303501 - SSL is null.
* @throws { BusinessError } 2303505 - An error occurred in the TLS system call.
* @throws { BusinessError } 2300002 - System internal error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
getProtocol(): Promise<string>;
/**
* Obtains the local address of the TLSSocketServer connection.
* @returns { Promise<NetAddress> } The promise returned by the function.
* @throws { BusinessError } 2300002 - System internal error.
* @throws { BusinessError } 2301009 - Bad file descriptor.
* @throws { BusinessError } 2303188 - Socket operation on non-socket.
* @syscap SystemCapability.Communication.NetStack
* @since 12
*/
getLocalAddress(): Promise<NetAddress>;
/**
* Listens for connect events of the TLSSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<TLSSocketConnection> } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'connect', callback: Callback<TLSSocketConnection>): void;
/**
* Cancels listening for connect events of the TLSSocketServer connection.
* @param { 'connect' } type - Indicates Event name.
* @param { Callback<TLSSocketConnection> } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'connect', callback?: Callback<TLSSocketConnection>): void;
/**
* Listens for error events of the TLSSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of on.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
on(type: 'error', callback: ErrorCallback): void;
/**
* Cancels listening for error events of the TLSSocketServer connection.
* @param { 'error' } type - Indicates Event name.
* @param { ErrorCallback } callback - The callback of off.
* @throws { BusinessError } 401 - Parameter error.
* @syscap SystemCapability.Communication.NetStack
* @since 10
*/
off(type: 'error', callback?: ErrorCallback): void;
}
}
export default socket;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。