BT编程语言文档

net WebSocket 通信

功能

WebSocket 用于浏览器、桌面页面或其他客户端与 BT 服务端保持实时双向通信。当前版本支持 WebSocket 服务端监听。

当前版本支持 WebSocket 服务端监听和 WebSocket 客户端连接。

语法

参数

参数类型必填默认值说明
typestring固定为 ws
bindstring监听地址,格式为 host:port
routestring/wsWebSocket 握手路径
on_connectfn客户端连接后调用,参数为 socket
on_messagefn收到消息后调用,参数为 socket, data
on_closefn连接关闭后调用,参数为 socket
on_errorfn后台任务出错时调用,参数为 err

返回值

net.listen({type:'ws'}) 返回 WsServer

字段/方法类型说明
addrstring服务监听地址
typestring固定为 ws
close()fn关闭服务,返回 true

回调中的 socketWsSocket

字段/方法类型说明
addrstring客户端远端地址
typestring固定为 ws
send(data)fn发送文本消息,成功返回 true
write(data)fn等同于 send(data)
close()fn关闭连接,返回 true

BT 客户端

客户端对象支持:

字段/方法类型说明
addrstring连接 URL
typestring固定为 ws
send(data)fn发送文本消息,成功返回 true
write(data)fn等同于 send(data)
close()fn关闭连接,返回 true
on_message(fn)fn注册消息回调,回调参数为 data
on_close(fn)fn注册关闭回调,无参数
on_error(fn)fn注册错误回调,回调参数为 err

浏览器客户端

浏览器或 WebView 页面也可以连接到 BT WebSocket 服务:

注意事项

  • 服务端只接受 route 指定路径,路径不匹配会返回 404。
  • socket.send() 内部使用有界队列,队列满时会返回错误。
  • 当前 WebSocket 客户端只支持 ws:// 明文连接。
  • 二进制消息会按 UTF-8 损失转换为字符串传给 on_message
  • 当前没有同步 socket.read() 方法,接收消息必须使用 on_message