用于蓝牙 Pub-Sub 的高级跨平台 API
Bluetooth
(扩展EventEmitter
)创建蓝牙服务的实例。
constructor(serviceId)
constructor 是一个设置为true
示例属性 使用键值对创建新服务
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
服务ID | 细绳 | 错误的 | 给定默认值来确定类型 |
start()
启动蓝牙服务。
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
subscribe(id )
开始扫描与已知 UUID 相对应的已发布值。一旦订阅了 UUID,就会发出与该 UUID 对应的事件。要接收这些事件,您可以添加事件侦听器,例如...
const ble = new Bluetooth ( id )
ble . subscribe ( uuid )
ble . on ( uuid , ( data , details ) => {
// ...do something interesting
} )
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
ID | 细绳 | 错误的 | 众所周知的 UUID |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
publish(id, value)
开始为知名 UUID 宣传新值
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
ID | 细绳 | 错误的 | 众所周知的 UUID | |
价值 | 细绳 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
外部文档:https://nodejs.org/api/buffer.html#buffer_class_buffer
来自 Node.js 的缓冲模块,用于浏览器。
If Buffer.TYPED_ARRAY_SUPPORT
: === true 使用 Uint8Array 实现(最快) === false 打印警告并建议使用具有 Object 实现的buffer
v4.x(最兼容,甚至 IE6)
支持类型化数组的浏览器有 IE 10+、Firefox 4+、Chrome 7+、Safari 5.1+、Opera 11.6+、iOS 4.2+。
我们报告说,如果类型化数组不能使用proto进行子类化,则浏览器不支持它们。 Firefox 4-29 不支持向Uint8Array
添加新属性(请参阅:https://bugzilla.mozilla.org/show_bug.cgi?id=695438)。 IE 10 缺乏对proto的支持,并且有一个有缺陷的类型数组实现。
If Buffer.TYPED_ARRAY_SUPPORT
: === true 使用 Uint8Array 实现(最快) === false 打印警告并建议使用具有 Object 实现的buffer
v4.x(最兼容,甚至 IE6)
支持类型化数组的浏览器有 IE 10+、Firefox 4+、Chrome 7+、Safari 5.1+、Opera 11.6+、iOS 4.2+。
我们报告说,如果类型化数组不能使用proto进行子类化,则浏览器不支持它们。 Firefox 4-29 不支持向Uint8Array
添加新属性(请参阅:https://bugzilla.mozilla.org/show_bug.cgi?id=695438)。 IE 10 缺乏对proto的支持,并且有一个有缺陷的类型数组实现。
If Buffer.TYPED_ARRAY_SUPPORT
: === true 使用 Uint8Array 实现(最快) === false 打印警告并建议使用具有 Object 实现的buffer
v4.x(最兼容,甚至 IE6)
支持类型化数组的浏览器有 IE 10+、Firefox 4+、Chrome 7+、Safari 5.1+、Opera 11.6+、iOS 4.2+。
我们报告说,如果类型化数组不能使用proto进行子类化,则浏览器不支持它们。 Firefox 4-29 不支持向Uint8Array
添加新属性(请参阅:https://bugzilla.mozilla.org/show_bug.cgi?id=695438)。 IE 10 缺乏对proto的支持,并且有一个有缺陷的类型数组实现。
If Buffer.TYPED_ARRAY_SUPPORT
: === true 使用 Uint8Array 实现(最快) === false 打印警告并建议使用具有 Object 实现的buffer
v4.x(最兼容,甚至 IE6)
支持类型化数组的浏览器有 IE 10+、Firefox 4+、Chrome 7+、Safari 5.1+、Opera 11.6+、iOS 4.2+。
我们报告说,如果类型化数组不能使用proto进行子类化,则浏览器不支持它们。 Firefox 4-29 不支持向Uint8Array
添加新属性(请参阅:https://bugzilla.mozilla.org/show_bug.cgi?id=695438)。 IE 10 缺乏对proto的支持,并且有一个有缺陷的类型数组实现。
Buffer 构造函数返回Uint8Array
的实例,其原型更改为Buffer.prototype
。此外, Buffer
是Uint8Array
的子类,因此返回的实例将具有所有节点Buffer
方法和Uint8Array
方法。方括号表示法按预期工作——它返回单个八位字节。
Uint8Array
原型保持不变。
功能上相当于 Buffer(arg,encoding),但如果 value 是数字,则会抛出 TypeError。 Buffer.from(str[, 编码]) Buffer.from(array) Buffer.from(buffer) Buffer.from(arrayBuffer[, byteOffset[, length]])
功能上相当于 Buffer(arg,encoding),但如果 value 是数字,则会抛出 TypeError。 Buffer.from(str[, 编码]) Buffer.from(array) Buffer.from(buffer) Buffer.from(arrayBuffer[, byteOffset[, length]])
功能上相当于 Buffer(arg,encoding),但如果 value 是数字,则会抛出 TypeError。 Buffer.from(str[, 编码]) Buffer.from(array) Buffer.from(buffer) Buffer.from(arrayBuffer[, byteOffset[, length]])
功能上相当于 Buffer(arg,encoding),但如果 value 是数字,则会抛出 TypeError。 Buffer.from(str[, 编码]) Buffer.from(array) Buffer.from(buffer) Buffer.from(arrayBuffer[, byteOffset[, length]])
创建一个新的填充 Buffer 实例。分配(大小[,填充[,编码]])
创建一个新的填充 Buffer 实例。分配(大小[,填充[,编码]])
创建一个新的填充 Buffer 实例。分配(大小[,填充[,编码]])
创建一个新的填充 Buffer 实例。分配(大小[,填充[,编码]])
相当于 Buffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 Buffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 Buffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 Buffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 SlowBuffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 SlowBuffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 SlowBuffer(num),默认创建一个非零填充的 Buffer 实例。
相当于 SlowBuffer(num),默认创建一个非零填充的 Buffer 实例。
一些围绕crypto.subtle
api 的高级方法,用于获取随机字节和散列。
Web加密API
getRandomValues(buffer)
外部文档:https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
将加密的强随机值生成到buffer
中
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
缓冲 | 类型数组 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 类型数组 |
每页随机字节的最大总大小
随机字节的最大总大小。
每页分配的最大字节总数(最大/配额)
randomBytes(size)
生成size
随机字节。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
尺寸 | 数字 | 错误的 | 要生成的字节数。大小不得大于 2**31 - 1。 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 缓冲 | 一个使用带有随机字节的 socket.Buffer 实例解析的承诺。 |
createDigest(algorithm, message)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
算法 | 细绳 | 错误的 | SHA-1 | |
信息 | 缓冲器|类型化数组 |数据视图 | 错误的 | socket.Buffer、TypedArray 或 Dataview 的实例。 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 | 一个使用带有哈希值的 socket.Buffer 实例进行解析的承诺。 |
该模块提供了 UDP 数据报套接字的实现。它(尚未)提供任何多播方法或属性。
ERR_SOCKET_ALREADY_BOUND
(扩展SocketError
)当套接字已绑定时抛出。
ERR_SOCKET_DGRAM_IS_CONNECTED
(扩展SocketError
)当套接字已连接时抛出。
ERR_SOCKET_DGRAM_NOT_CONNECTED
(扩展SocketError
)当套接字未连接时抛出。
ERR_SOCKET_DGRAM_NOT_RUNNING
(扩展SocketError
)当套接字未运行(未绑定或连接)时抛出。
ERR_SOCKET_BAD_TYPE
(扩展TypeError
)当参数中使用错误的套接字类型时抛出。
ERR_SOCKET_BAD_PORT
(扩展RangeError
)当给出错误端口时抛出。
createSocket(options, callback)
创建一个Socket
实例。如果 ()
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选项 | 字符串|目的 | 错误的 | 字符串('udp4' 或 'udp6')或选项对象 | |
选项.类型 | 细绳 | 真的 | 套接字家族。必须是“udp4”或“udp6”。必需的。 | |
选项.reuseAddr | 布尔值 | 错误的 | 真的 | 当 true 时,socket.bind() 将重用该地址,即使另一个进程已经在其上绑定了套接字。默认值:假。 |
选项.ipv6Only | 布尔值 | 错误的 | 真的 | 将 ipv6Only 设置为 true 将禁用双栈支持,即绑定到地址 :: 不会绑定 0.0.0.0。默认值:假。 |
选项.recvBufferSize | 数字 | 真的 | 设置 SO_RCVBUF 套接字值。 | |
选项.sendBufferSize | 数字 | 真的 | 设置 SO_SNDBUF 套接字值。 | |
选项.信号 | 中止信号 | 真的 | 可用于关闭套接字的 AbortSignal。 | |
打回来 | 功能 | 真的 | 作为“消息”事件的侦听器附加。选修的。 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 插座 |
Socket
(扩展EventEmitter
)dgram.Socket 的新实例是使用 dgram.createSocket() 创建的。 new 关键字不用于创建 dgram.Socket 实例。
bind(port, address, callback)
外部文档:https://nodejs.org/api/dgram.html#socketbindport-address-callback
在指定端口和可选地址上侦听数据报消息 如果未指定地址,操作系统将尝试侦听所有地址。绑定完成后,将发出“监听”事件并调用可选的回调函数。
如果绑定失败,则会发出“错误”事件。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
港口 | 数字 | 错误的 | 监听消息的端口 | |
地址 | 细绳 | 错误的 | 要绑定的地址 (0.0.0.0) | |
打回来 | 功能 | 错误的 | 没有参数。绑定完成时调用。 |
connect(port, host, connectListener)
外部文档:https://nodejs.org/api/dgram.html#socketconnectport-address-callback
将 dgram.Socket 关联到远程地址和端口。此句柄发送的每条消息都会自动发送到该目的地。此外,套接字将仅接收来自该远程对等点的消息。尝试在已连接的套接字上调用 connect() 将导致 ERR_SOCKET_DGRAM_IS_CONNECTED 异常。如果未提供地址,则默认使用“127.0.0.1”(对于 udp4 套接字)或“::1”(对于 udp6 套接字)。连接完成后,将发出“connect”事件并调用可选的回调函数。如果失败,则会调用回调,或者如果失败,则会发出“错误”事件。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
港口 | 数字 | 错误的 | 客户端应连接到的端口。 | |
主持人 | 细绳 | 真的 | 客户端应连接到的主机。 | |
连接监听器 | 功能 | 真的 | socket.connect() 方法的公共参数。将被添加为“连接”事件的侦听器一次。 |
disconnect()
外部文档:https://nodejs.org/api/dgram.html#socketdisconnect
一个同步函数,用于将连接的 dgram.Socket 与其远程地址解除关联。尝试在未绑定或已断开连接的套接字上调用disconnect()将导致ERR_SOCKET_DGRAM_NOT_CONNECTED异常。
send(msg, offset, length, port, address, callback)
外部文档:https://nodejs.org/api/dgram.html#socketsendmsg-offset-length-port-address-callback
在套接字上广播数据报。对于无连接套接字,必须指定目标端口和地址。另一方面,连接的套接字将使用其关联的远程端点,因此不得设置端口和地址参数。
msg 参数包含要发送的消息。根据其类型,可以应用不同的行为。如果 msg 是 Buffer、任何 TypedArray 或 DataView,则偏移量和长度分别指定消息开始的 Buffer 内的偏移量和消息中的字节数。如果 msg 是一个 String,那么它会自动转换为 'utf8' 编码的 Buffer。对于包含多字节字符的消息,偏移量和长度将根据字节长度而不是字符位置来计算。如果 msg 是数组,则不得指定偏移量和长度。
地址参数是一个字符串。如果address的值为主机名,则将使用DNS来解析主机的地址。如果未提供地址或地址为空,则默认使用“127.0.0.1”(对于 udp4 套接字)或“::1”(对于 udp6 套接字)。
如果之前未通过调用绑定来绑定套接字,则会为套接字分配一个随机端口号,并绑定到“所有接口”地址(对于 udp4 套接字为“0.0.0.0”,对于 udp6 套接字为“::0” .)
可以指定一个可选的回调函数作为报告 DNS 错误或确定何时可以安全地重用 buf 对象的方法。 DNS 查找会延迟 Node.js 事件循环至少一个周期的发送时间。
确定数据报已发送的唯一方法是使用回调。如果发生错误并给出回调,则错误将作为第一个参数传递给回调。如果未给出回调,则错误将作为套接字对象上的“错误”事件发出。
偏移量和长度是可选的,但如果使用其中任何一个,则必须设置两者。仅当第一个参数是 Buffer、TypedArray 或 DataView 时才支持它们。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
味精 | 缓冲器|类型化数组 |数据视图 |字符串|大批 | 错误的 | 待发送的消息。 | |
抵消 | 整数 | 真的 | 消息开始的缓冲区中的偏移量。 | |
长度 | 整数 | 真的 | 消息中的字节数。 | |
港口 | 整数 | 真的 | 目的港。 | |
地址 | 细绳 | 真的 | 目标主机名或 IP 地址。 | |
打回来 | 功能 | 真的 | 消息发送后调用。 |
close(callback)
外部文档:https://nodejs.org/api/dgram.html#socketclosecallback
关闭底层套接字并停止侦听其上的数据。如果提供了回调,则会将其添加为“关闭”事件的侦听器。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
打回来 | 功能 | 真的 | 连接完成或出错时调用。 |
address()
外部文档:https://nodejs.org/api/dgram.html#socketaddress
返回一个包含套接字地址信息的对象。对于 UDP 套接字,该对象将包含地址、系列和端口属性。
如果在未绑定的套接字上调用此方法,则会抛出 EBADF。
返回值 | 类型 | 描述 |
---|---|---|
套接字信息 | 目的 | 有关本地套接字的信息 |
套接字信息地址 | 细绳 | 套接字的IP地址 |
套接字信息端口 | 细绳 | 套接字的端口 |
socketInfo.family | 细绳 | 套接字的IP系列 |
remoteAddress()
外部文档:https://nodejs.org/api/dgram.html#socketremoteaddress
返回一个包含远程端点的地址、系列和端口的对象。如果套接字未连接,此方法将引发 ERR_SOCKET_DGRAM_NOT_CONNECTED 异常。
返回值 | 类型 | 描述 |
---|---|---|
套接字信息 | 目的 | 有关远程套接字的信息 |
套接字信息地址 | 细绳 | 套接字的IP地址 |
套接字信息端口 | 细绳 | 套接字的端口 |
socketInfo.family | 细绳 | 套接字的IP系列 |
setRecvBufferSize(size)
外部文档:https://nodejs.org/api/dgram.html#socketsetrecvbuffersizesize
设置 SO_RCVBUF 套接字选项。设置最大套接字接收缓冲区(以字节为单位)。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
尺寸 | 数字 | 错误的 | 新接收缓冲区的大小 |
setSendBufferSize(size)
外部文档:https://nodejs.org/api/dgram.html#socketsetsendbuffersizesize
设置 SO_SNDBUF 套接字选项。设置最大套接字发送缓冲区(以字节为单位)。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
尺寸 | 数字 | 错误的 | 新发送缓冲区的大小 |
getRecvBufferSize()
外部文档:https://nodejs.org/api/dgram.html#socketgetrecvbuffersize
getSendBufferSize()
外部文档:https://nodejs.org/api/dgram.html#socketgetsendbuffersize
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 数字 | SO_SNDBUF 套接字发送缓冲区大小(以字节为单位)。 |
该模块支持名称解析。例如,用它来查找主机名的 IP 地址。尽管以域名系统 (DNS) 命名,但它并不总是使用 DNS 协议进行查找。 dns.lookup() 使用操作系统工具来执行名称解析。它可能不需要执行任何网络通信。要像同一系统上的其他应用程序那样执行名称解析,请使用 dns.lookup()。
lookup(hostname, opts, cb)
外部文档:https://nodejs.org/api/dns.html#dns_dns_lookup_hostname_options_callback
将主机名(例如example.org
)解析为第一个找到的 A (IPv4) 或 AAAA (IPv6) 记录。所有选项属性都是可选的。如果 options 是整数,则它必须是 4 或 6 – 如果 options 是 0 或未提供,则如果找到,则返回 IPv4 和 IPv6 地址。
从 Node.js 网站...
当 all 选项设置为 true 时,回调的参数将更改为 (err, 地址),其中地址是具有属性 address 和 family 的对象数组。
发生错误时, err 是 Error 对象,其中 err.code 是错误代码。请记住,不仅当主机名不存在时,而且当查找因其他原因(例如没有可用的文件描述符)失败时,err.code 都会被设置为“ENOTFOUND”。 dns.lookup() 不一定与 DNS 协议有任何关系。该实现使用可以将名称与地址关联起来的操作系统工具,反之亦然。这种实现可能会对任何 Node.js 程序的行为产生微妙但重要的影响。在使用 dns.lookup() 之前,请花一些时间查阅实现注意事项部分。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
主机名 | 细绳 | 错误的 | 要解析的主机名。 | |
选择 | 目的 | 真的 | 一个选项对象。 | |
选择家庭 | 数量 |细绳 | 0 | 错误的 | 唱片家族。必须为 4、6 或 0。出于向后兼容性原因,“IPv4”和“IPv6”分别解释为 4 和 6。值0表示同时返回IPv4和IPv6地址。默认值:0。 |
CB | 功能 | 错误的 | 方法完成后调用的函数。 |
该模块支持名称解析。例如,用它来查找主机名的 IP 地址。尽管以域名系统 (DNS) 命名,但它并不总是使用 DNS 协议进行查找。 dns.lookup() 使用操作系统工具来执行名称解析。它可能不需要执行任何网络通信。要像同一系统上的其他应用程序那样执行名称解析,请使用 dns.lookup()。
lookup(hostname, opts)
外部文档:https://nodejs.org/api/dns.html#dnspromiseslookuphostname-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
主机名 | 细绳 | 错误的 | 要解析的主机名。 | |
选择 | 目的 | 真的 | 一个选项对象。 | |
选择家庭 | 数量 |细绳 | 0 | 错误的 | 唱片家族。必须为 4、6 或 0。出于向后兼容性原因,“IPv4”和“IPv6”分别解释为 4 和 6。值0表示同时返回IPv4和IPv6地址。默认值:0。 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
该模块支持以标准 POSIX 函数建模的方式与文件系统进行交互。
应用程序沙箱限制对文件系统的访问。请参阅应用程序沙箱文档以获取更多信息:https://sockets.sh/guides/#working-with-the-file-system-on-ios
要使用基于 Promise 的 API:
import * as fs from '@socketsupply/socket-api/fs/promises.js' ;
要使用回调和异步 API:
import * as fs from '@socketsupply/socket-api/fs/index.js' ;
access(path, mode , callback)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fsopenpath-flags-mode-callback
异步检查对给定模式的文件访问,在成功或错误时调用callback
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
模式 | 细绳 | F_OK(0) | 真的 | |
打回来 | 函数(错误,fd) | 错误的 |
chmod(path, mode, callback)
外部文档:https://nodejs.org/api/fs.html#fschmodpath-mode-callback
异步更改文件的权限。除了可能的异常之外,不会向完成回调提供任何参数
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
模式 | 数字 | 错误的 | ||
打回来 | 函数(错误) | 错误的 |
close(fd, callback)
异步关闭文件描述符,在成功或错误时调用callback
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
FD | 数字 | 错误的 | ||
打回来 | 函数(错误) | 真的 |
copyFile()
这是fs/index.js
中名为copyFile
FunctionDeclaration
,它已导出但未记录。
createReadStream(path, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fscreatewritestreampath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | fs.ReadStream |
createWriteStream(path, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fscreatewritestreampath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | fs.WriteStream |
fstat(fd, options, callback)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fsfstatfd-options-callback
使用文件描述符的 <fs.Stats> 调用回调。有关更多详细信息,请参阅 POSIX fstat(2) 文档。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
FD | 数字 | 错误的 | 文件描述符。 | |
选项 | 目的 | 真的 | 一个选项对象。 | |
打回来 | 功能 | 错误的 | 完成后调用的函数。 |
open(path, flags , mode , callback)
异步打开文件,在成功或错误时调用callback
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
旗帜 | 细绳 | r | 真的 | |
模式 | 细绳 | 0o666 | 真的 | |
打回来 | 函数(错误,fd) | 错误的 |
opendir(path, options, callback)
异步打开一个目录,在成功或错误时调用callback
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项.withFileTypes | 布尔值 | 错误的 | 真的 | |
打回来 | 函数(错误,fd) | 错误的 |
read(fd, buffer, offset, length, position, callback)
从打开的文件描述符异步读取。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
FD | 数字 | 错误的 | ||
缓冲 | 对象|缓冲器|类型数组 | 错误的 | 数据将写入的缓冲区。 | |
抵消 | 数字 | 错误的 | 缓冲区中要写入数据的位置。 | |
长度 | 数字 | 错误的 | 要读取的字节数。 | |
位置 | 数量 |大整数 |无效的 | 错误的 | 指定从文件中的何处开始读取。如果position为null或-1,将从当前文件位置读取数据,并更新文件位置。如果position是整数,则文件位置将保持不变。 | |
打回来 | 函数(错误,字节读取,缓冲区) | 错误的 |
readdir(path, options, callback)
异步读取目录中的所有条目。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项.withFileTypes | 布尔值 | 错误的 | 真的 | |
打回来 | 函数(错误,缓冲区) | 错误的 |
readFile(path, options, callback)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 |数字 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项标志 | 细绳 | r | 真的 | |
选项.信号 | 中止信号 | 真的 | ||
打回来 | 函数(错误,缓冲区) | 错误的 |
stat(path, options, callback)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 |数字 | 错误的 | 文件名或文件描述符 | |
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项标志 | 细绳 | r | 真的 | |
选项.信号 | 中止信号 | 真的 | ||
打回来 | 函数(错误,数据) | 错误的 |
writeFile(path, data, options, callback)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 |数字 | 错误的 | 文件名或文件描述符 | |
数据 | 字符串|缓冲器|类型化数组 |数据视图 |目的 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项.模式 | 细绳 | 0o666 | 真的 | |
选项标志 | 细绳 | w | 真的 | |
选项.信号 | 中止信号 | 真的 | ||
打回来 | 函数(错误) | 错误的 |
writev()
这是fs/index.js
中名为writev
FunctionDeclaration
,它已导出但未记录。
access(path, mode, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fspromisesaccesspath-mode
异步检查文件访问。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
模式 | 细绳 | 真的 | ||
选项 | 目的 | 真的 |
chmod(path, mode)
外部文档:https://nodejs.org/api/fs.html#fspromiseschmodpath-mode
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
模式 | 数字 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
mkdir(path, options)
异步创建目录。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 细绳 | 错误的 | 创建路径 | |
选项 | 目的 | 错误的 | 可选的选项参数可以是指定模式(权限和粘性位)的整数,也可以是具有模式属性和指示是否应创建父目录的递归属性的对象。仅当 recursive 为 false 时,当 path 是存在的目录时调用 fs.mkdir() 才会导致错误。 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 普里米斯 | 成功后,如果 recursive 为 false,则返回 undefined;如果 recursive 为 true,则返回创建的第一个目录路径。 |
open(path, flags, mode)
外部文档:https://nodejs.org/api/fs.html#fspromisesopenpath-flags-mode
异步打开文件。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
旗帜 | 细绳 | 错误的 | 默认值:“r” | |
模式 | 细绳 | 错误的 | 默认值:0o666 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
opendir(path, options)
外部文档:https://nodejs.org/api/fs.html#fspromisesopendirpath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项.bufferSize | 数字 | 32 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<文件系统,目录> |
readdir(path, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fspromisesreaddirpath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 细绳 | UTF8 | 真的 | |
选项.withFileTypes | 布尔值 | 错误的 | 真的 |
readFile(path, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fspromisesreadfilepath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 细绳 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 字符串|无效的 | 无效的 | 真的 | |
选项标志 | 细绳 | r | 真的 | |
选项.信号 | 中止信号 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺<缓冲区 | 字符串> |
stat(path, options)
外部文档:https://nodejs.org/api/fs.html#fspromisesstatpath-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.bigint | 布尔值 | 错误的 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
writeFile(path, data, options)
外部文档:https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fspromiseswritefilefile-data-options
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
小路 | 字符串|缓冲器|网址 |文件句柄 | 错误的 | 文件名或文件句柄 | |
数据 | 字符串|缓冲器|数组 |数据视图 |类型化数组 |溪流 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.encoding | 字符串|无效的 | UTF8 | 错误的 | |
选项.模式 | 数字 | 0o666 | 错误的 | |
选项标志 | 细绳 | w | 错误的 | |
选项.信号 | 中止信号 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
这是fs/stream.js
中名为DEFAULT_STREAM_HIGH_WATER_MARK
的VariableDeclaration
,它已导出但未记录。
ReadStream
(扩展Readable
) FileHandle
的Readable
流。
constructor()
ReadStream
类构造函数
setHandle(handle)
设置 ReadStream 的文件句柄。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
处理 | 文件句柄 | 错误的 |
highWaterMark()
ReadStream 的最大缓冲区大小。
path()
底层FileHandle
的相对或绝对路径。
pending()
如果流处于挂起状态, true
。
emit()
处理构造函数中options.emitClose
的shouldEmitClose
设置。
WriteStream
(扩展Writable
) FileHandle
的Writable
流。
constructor()
WriteStream
类构造函数
setHandle(handle)
设置 WriteStream 的文件句柄。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
处理 | 文件句柄 | 错误的 |
highWaterMark()
Writetream 的最大缓冲区大小。
path()
底层FileHandle
的相对或绝对路径。
pending()
如果流处于挂起状态, true
。
emit()
处理构造函数中options.emitClose
的shouldEmitClose
设置。
这是fs/stream.js
中名为FileReadStream
VariableDeclaration
,它已导出但未记录。
这是fs/stream.js
中名为FileWriteStream
VariableDeclaration
,它已导出但未记录。
这是一个低级 API,除非您在 Socket SDK 之上实现一个库,否则您不需要它。 Socket SDK 应用程序有两个或三个进程。
Render
进程,即运行 HTML、CSS 和 JS 的 UI。Bridge
进程,管理一切的薄层代码。Main
进程,适用于需要运行较繁重计算作业的应用程序。与电子不同的是,它是可选的。Bridge 进程管理 Render 和 Main 进程,它还可以在它们之间代理数据。
绑定过程使用标准输入和输出作为通信方式。写入管道写入端的数据由操作系统缓冲,直到从管道读取端读取。
IPC 协议使用简单的类似 URI 的方案。数据作为 ArrayBuffer 传递。
ipc://command?key1=value1&key2=value2...
postMessage()
这是ipc.js
中名为postMessage
的FunctionDeclaration
,它已导出但未记录。
表示 IPC 状态正常。
表示 ERROR IPC 状态。
IPC 请求的超时(以毫秒为单位)。
ipc.debug.enabled
属性的符号
parseSeq(seq, options)
将seq
解析为整数值
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
序列 | 字符串|数字 | 错误的 | ||
选项 | 目的 | 真的 | ||
选项.bigint | 布尔值 | 错误的 | 错误的 |
debug(enable)
如果debug.enabled === true
,则调试输出将打印到控制台。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
使能够 | 布尔值 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 布尔值 |
Message
(扩展URL
)基于ipc://
URI 方案的 IPC 消息容器。
PROTOCOL()
IPC 消息的预期协议。
from(input, params)
从各种输入创建一个Message
实例。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
输入 | 字符串|网址 |留言 |缓冲器|目的 | 错误的 | ||
参数 | 对象|字符串| URL搜索参数 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 信息 |
isValidInput(input)
用于确定input
对于构造新Message
实例是否有效的谓词。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
输入 | 字符串|网址 |留言 |缓冲器|目的 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 布尔值 |
constructor(input)
Message
类构造函数。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
输入 | 字符串|网址 | 错误的 |
command()
计算出的 IPC 消息名称。
name()
计算出的 IPC 消息名称。
id()
计算出的命令的id
值。
seq()
计算命令的seq
(序列)值。
value()
消息参数中可能给出的计算消息值。该值会自动解码,但不会被视为 JSON。
index()
计算出的命令index
值可能引用命令作用域或源自的窗口索引。如果消息参数中未指定,则该值默认为-1
。
json()
计算值解析为 JSON。如果该值不存在或者是无效的 JSON,则该值为null
。
params()
消息参数的计算只读对象。
entries()
返回计算参数作为条目
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 数组<数组<字符串,混合>> |
set(key, value)
通过key
设置参数value
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
钥匙 | 细绳 | 错误的 | ||
价值 | 混合的 | 错误的 |
get(key, defaultValue)
通过key
获取参数值。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
钥匙 | 细绳 | 错误的 | ||
默认值 | 混合的 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 混合的 |
delete(key)
按key
删除参数。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
钥匙 | 细绳 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 布尔值 |
keys()
计算出的参数键。
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 大批 |
values()
计算的参数值。
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 大批 |
has(key)
用于确定参数中是否存在参数key
谓词。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
钥匙 | 细绳 | 错误的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 布尔值 |
toJSON()
将Message
实例转换为纯 JSON 对象。
内部使用的结果类型,用于处理来自本机层的 IPC 结果值,其形式为{ err?, data? }
。此类对象的data
和err
属性采用元组形式,可通过[data?,err?]
访问
from(result, maybeError, maybeSource)
从输入创建一个Result
实例,该实例可能是像{ err?, data? }
、 Error
实例或只是data
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
结果 | 对象|错误|混合的 | 真的 | ||
也许错误 | 错误 | 真的 | ||
也许来源 | 细绳 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 结果 |
constructor(err , data , source )
Result
类构造函数。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
犯错 | 错误 | 无效的 | 真的 | |
数据 | 目的 | 无效的 | 真的 | |
来源 | 细绳 | 不明确的 | 真的 |
length()
计算结果长度。
ready()
等待本机 IPC 层准备好并在全局窗口对象上公开。
sendSync(command, params)
通过 XHR 发送同步 IPC 命令,并在成功或错误时返回Result
。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
命令 | 细绳 | 错误的 | ||
参数 | 对象|细绳 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 结果 |
emit(name, value, target , options)
发出要在window
对象上分派的事件。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
姓名 | 细绳 | 错误的 | ||
价值 | 混合 | 错误的 | ||
目标 | 事件目标 | 窗户 | 真的 | |
选项 | 目的 | 真的 |
resolve(seq, value)
通过seq
解析具有可能值的请求。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
序列 | 细绳 | 错误的 | ||
价值 | 混合 | 错误的 |
send(command, value)
发送带有参数的异步 IPC 命令请求。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
命令 | 细绳 | 错误的 | ||
价值 | 混合 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
write(command, params, buffer, options)
发送带有参数和缓冲字节的异步 IPC 命令请求。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
命令 | 细绳 | 错误的 | ||
参数 | 目的 | 真的 | ||
缓冲 | 缓冲器|类型数组 |数组缓冲区 |字符串|大批 | 真的 | ||
选项 | 目的 | 真的 |
request(command, params, options)
发送带有参数的异步 IPC 命令请求,请求带有缓冲字节的响应。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
命令 | 细绳 | 错误的 | ||
参数 | 目的 | 真的 | ||
选项 | 目的 | 真的 |
createBinding(domain, ctx)
用于创建基于代理的 IPC API 的工厂。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
领域 | 细绳 | 错误的 | ||
ctx | 功能|目的 | 真的 | ||
ctx.默认值 | 细绳 | 真的 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 代理人 |
该模块提供来自所有主要操作系统的标准化系统信息。
arch()
这是os.js
中名为arch
的FunctionDeclaration
,它已导出但未记录。
networkInterfaces()
这是os.js
中名为networkInterfaces
的FunctionDeclaration
,它已导出但未记录。
platform()
这是os.js
中名为platform
FunctionDeclaration
,它已导出但未记录。
type()
这是os.js
中名为type
的FunctionDeclaration
,它已导出但未记录。
isWindows()
这是os.js
中名为isWindows
的FunctionDeclaration
,它已导出但未记录。
tmpdir()
这是os.js
中名为tmpdir
的FunctionDeclaration
,它已导出但未记录。
这是os.js
中名为EOL
的VariableDeclaration
,它已导出但未记录。
这是path/path.js
中名为Path
ClassDeclaration
,它已导出但未记录。
cwd(opts)
计算路径的当前工作目录
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选择 | 目的 | 真的 | ||
opts.posix 设置为true 以强制 POSIX 样式路径 | 布尔值 | 真的 |
constructor(opts)
Path
类构造函数。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选择 | 目的 | 真的 | ||
选项根目录 | 细绳 | 真的 | ||
选项库 | 细绳 | 真的 | ||
选择名称 | 细绳 | 真的 | ||
选项目录 | 细绳 | 真的 | ||
选择.ext | 细绳 | 真的 |
resolve()
normalize()
homedir()
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 细绳 | 当前用户的主目录。 |
exit(code)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
代码 | 数字 | 0 | 真的 | 退出代码。默认值:0。 |
提供运行时特定的方法
这是runtime.js
中名为currentWindow
的VariableDeclaration
,它已导出但未记录。
这是一个在runtime.js
中名为debug
的VariableDeclaration
,它已导出但未记录。
这是一个在runtime.js
中名为config
的VariableDeclaration
,它已导出但未记录。
send()
这是一个在runtime.js
中名为send
的FunctionDeclaration
,它已导出但未记录。
getWindows()
这是runtime.js
中名为getWindows
FunctionDeclaration
,它已导出但未记录。
openExternal()
这是runtime.js
中名为openExternal
FunctionDeclaration
,它已导出但未记录。
exit(options)
退出后端进程,然后退出渲染进程,使用的退出代码是操作系统的最终退出代码。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选项 | 目的 | 错误的 | 一个选项对象 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
setTitle(options)
设置窗口的标题(如果适用)。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选项 | 目的 | 错误的 | 一个选项对象 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
inspect()
这是一个在runtime.js
中名为inspect
的FunctionDeclaration
,它已导出但未记录。
show(opts)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选择 | 目的 | 错误的 | 一个选项对象 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
hide(opts)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选择 | 目的 | 错误的 | 一个选项对象 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
navigate(opts)
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选择 | 目的 | 错误的 | 一个选项对象 | |
选择窗口 | 数字 | 当前窗口 | 错误的 | 窗口的索引 |
选项.url | 数字 | 错误的 | 要加载到窗口中的 HTML 文件的路径 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | Promise<ipc.Result> |
setWindowBackgroundColor()
这是runtime.js
中名为setWindowBackgroundColor
的FunctionDeclaration
,它已导出但未记录。
setContextMenu(options)
打开本机上下文菜单。
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选项 | 目的 | 错误的 | 一个选项对象 |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
setSystemMenuItemEnabled()
这是runtime.js
中名为setSystemMenuItemEnabled
的FunctionDeclaration
,它已导出但未记录。
setSystemMenu(options)
设置应用程序的本机菜单。
Socket Runtime 提供了极简的 DSL,可以轻松创建跨平台本机系统和上下文菜单。
菜单是在运行时创建的。它们可以从主进程或渲染进程创建。可以通过调用setSystemMenu
方法立即重新创建它们。
该方法需要一个字符串。这是菜单的示例。分号很重要,表示菜单的结尾。当没有加速键时使用下划线。修饰符是可选的。众所周知的操作系统菜单选项(例如编辑菜单)将自动获取加速器,您无需指定它们。
socket . runtime . setSystemMenu ( { index : 0 , value : `
App:
Foo: f;
Edit:
Cut: x
Copy: c
Paste: v
Delete: _
Select All: a;
Other:
Apple: _
Another Test: T
!Im Disabled: I
Some Thing: S + Meta
---
Bazz: s + Meta, Control, Alt;
` )
要创建分隔符,请使用三个破折号---
。
加速键修饰符用作视觉指示器,但不会产生实质性影响,因为实际的键绑定是在事件侦听器中完成的。
大写字母表示加速器是通过Shift
键修改的。
其他加速器有Meta
、 Control
、 Option
,每个加速器都用逗号分隔。如果一个不适用于某个平台,它将被忽略。
在 MacOS 上Meta
与Command
相同。
如果您想禁用某个菜单项,只需在该菜单项前加上!
特点。这将导致该项目在系统菜单呈现时显示为禁用。
我们觉得嵌套菜单是一种反模式。我们不使用它们。如果您对它们有强有力的论据,并且有一个非常简单的拉取请求,可以使它们发挥作用,我们可能会考虑它们。
当菜单项被激活时,它会在前端代码中引发menuItemSelected
事件,然后您可以根据需要与后端代码进行通信。
例如,如果从Other
菜单中选择Apple
项目...
window . addEventListener ( 'menuItemSelected' , event => {
assert ( event . detail . parent === 'Other' )
assert ( event . detail . title === 'Apple' )
} )
争论 | 类型 | 默认 | 选修的 | 描述 |
---|---|---|---|---|
选项 | 目的 | 错误的 | 一个选项对象 | |
选项.值 | 细绳 | 错误的 | 菜单布局 | |
选项索引 | 数字 | 错误的 | 目标窗口(如果适用) |
返回值 | 类型 | 描述 |
---|---|---|
未指定 | 承诺 |
reload()
这是一个位于runtime.js
中名为reload
的FunctionDeclaration
,它已导出但未记录。