输入/搜索内容
内置函数
结构体
Ticker
Depth
OrderBook
Trade
Record
Market
Order
Condition
Account
Asset
Position
Funding
其它结构
HttpQuery-options
HttpQuery-return
LogStatus-table
LogStatus-btnTypeOne
LogStatus-btnTypeTwo
状态栏组件
Chart-options
Chart-return
KLineChart-options
KLineChart-return
SetData-data
EventLoop-return
exchange.Go-return
DBExec-return
Dial-return
Thread.join-return
内置变量与常量
通用约定
交易所

Dial函数返回的连接对象。WebSocket(ws、wss)、TCP(tcp、tls)连接与数据库连接都返回这个对象,数据库连接另有exec()方法。连接失败时Dial()返回空值并记录错误(Rust返回Valid()为false的连接对象)。

属性

名称类型描述

read(timeout)

function

读取一条数据。timeout单位毫秒:不传时阻塞到有数据;正数为最长等待时间,超时返回空值。以下两个取值只对WebSocket有效:-1不等待,没有数据立即返回空值;-2不等待,只返回最新的一条,缓冲区中更早的数据被丢弃。

write(data)

function

发送数据,返回发送的字节数;连接断开时返回0。

close()

function

关闭连接。设置了自动重连(地址参数reconnect=true)的WebSocket连接断开后由底层重连,不需要关闭;已经关闭的连接不能再使用。

exec(sql, ...args)

function

数据库连接独有:执行SQL语句,用法与返回值同DBExec(见DBExec-return)。JavaScript、Python中可以在SQL语句后继续传入?占位符对应的参数值。

fd()

function

仅JavaScript:返回指向同一连接的句柄。把句柄传给其它线程(例如作为threading.Thread()的参数),在线程中调用Dial(handle)得到同一连接的连接对象继续使用,WebSocket、TCP与数据库连接都适用;句柄的valueOf()为连接编号。

Valid()

function

仅Rust:连接是否建立成功。

参考

备注

JavaScript中,数据库连接对象本身也可以作为参数传给threading.Thread()创建的线程、存入threading.Dict()或者通过postMessage()发送给其它线程,在多个线程之间共享同一个连接;连接对象不再被引用时自动关闭连接。Python、Rust不支持在线程间共享连接。

read()的接收缓冲区与各种timeout取值下的行为:

WebSocket收到的数据先进入接收缓冲区(队列),两次read()间隔太长时数据会累积;缓冲区默认最多4096条或16MB(先到为准),超出后丢弃最旧的数据,上限可以用Dial()地址参数中的qsize、qbytes调整。

场景不传参数-1-22000(毫秒)
缓冲区已有数据立即返回最旧的数据立即返回最旧的数据立即返回最新的数据,丢弃其余立即返回最旧的数据
缓冲区没有数据阻塞到有数据时返回立即返回空值立即返回空值最多等待2000毫秒,没有数据返回空值
连接断开或底层正在重连返回空字符串""------