# SocketTask.onOpen(function listener)

> __小程序插件__：支持
> 
> __微信 Windows 版__：支持
> 
> __微信 Mac 版__：支持
> 
> __微信 鸿蒙 OS 版__：支持

> 相关文档: [网络使用说明](/miniprogram/dev/framework/ability/network.md)、[局域网通信](/miniprogram/dev/framework/ability/mDNS.md)

## 功能描述

监听 WebSocket 连接打开事件

## 参数

### function listener

WebSocket 连接打开事件的监听函数

#### 参数

##### Object res


```json
[
  {
    "属性": "header",
    "类型": "object",
    "说明": "连接成功的 HTTP 响应 Header",
    "最低版本": "[2.0.0](1003706)"
  },
  {
    "属性": "profile",
    "类型": "Object",
    "说明": "网络请求过程中一些调试信息",
    "最低版本": "[2.10.4](1003706)",
    "子项": [
      {
        "结构属性": "fetchStart",
        "类型": "number",
        "说明": "组件准备好使用 SOCKET 建立请求的时间，这发生在检查本地缓存之前"
      },
      {
        "结构属性": "domainLookUpStart",
        "类型": "number",
        "说明": "DNS 域名查询开始的时间，如果使用了本地缓存（即无 DNS 查询）或持久连接，则与 fetchStart 值相等"
      },
      {
        "结构属性": "domainLookUpEnd",
        "类型": "number",
        "说明": "DNS 域名查询完成的时间，如果使用了本地缓存（即无 DNS 查询）或持久连接，则与 fetchStart 值相等"
      },
      {
        "结构属性": "connectStart",
        "类型": "number",
        "说明": "开始建立连接的时间，如果是持久连接，则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接，则这里显示的是新建立的连接开始的时间"
      },
      {
        "结构属性": "connectEnd",
        "类型": "number",
        "说明": "完成建立连接的时间（完成握手），如果是持久连接，则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接，则这里显示的是新建立的连接完成的时间。注意这里握手结束，包括安全连接建立完成、SOCKS 授权通过"
      },
      {
        "结构属性": "rtt",
        "类型": "number",
        "说明": "单次连接的耗时，包括 connect ，tls"
      },
      {
        "结构属性": "handshakeCost",
        "类型": "number",
        "说明": "握手耗时"
      },
      {
        "结构属性": "cost",
        "类型": "number",
        "说明": "上层请求到返回的耗时"
      }
    ]
  }
]
```
