模块 okhttps

类 WHttpTask

    • 构造器详细资料

      • WHttpTask

        public WHttpTask​(com.ejlchina.okhttps.internal.AbstractHttpClient httpClient,
                         String url)
    • 方法详细资料

      • heatbeat

        public WHttpTask heatbeat​(int pingSeconds,
                                  int pongSeconds)
        设置心跳间隔 覆盖 OkHttp 原有的心跳模式,主要区别如下: 1、客户端发送的任何消息都具有一次心跳作用 2、服务器发送的任何消息都具有一次心跳作用 3、若服务器超过 3 * pongSeconds 秒没有回复心跳,才判断心跳超时 4、可指定心跳的具体内容(默认为空) 由于 OkHttp 底层并未暴露 websocket 协议里 opcode 的接口,所以该心跳的 opcode 始终是 2,并不是 websocket 协议里定义的 9 所以如果服务器要求客户端心跳的 opcode 必须是 9 的话,请使用 OkHttp 的原生心跳: [http://okhttps.ejlchina.com/v2/websocket.html#%E5%85%A8%E5%B1%80%E5%BF%83%E8%B7%B3%E9%85%8D%E7%BD%AE] 另若需要 可使用 pingSupplier(PingSupplier) 方法指定心跳发送的具体内容
        参数:
        pingSeconds - 客户端心跳间隔秒数(0 表示不需要心跳)
        pongSeconds - 服务器心跳间隔秒数(0 表示不需要心跳)
        返回:
        WebSocketTask
        从以下版本开始:
        v2.3.0
      • flexiblePing

        public WHttpTask flexiblePing​(boolean flexiblePing)
        用于兼容某些强制客户端必须以固定的时间间隔发送心跳的服务器
        参数:
        flexiblePing - Ping 的间隔是否灵活可变(默认为 true, 为 false 时客户端 Ping 的间隔固定,普通的消息不做为 Ping)
        返回:
        WebSocketTask
        从以下版本开始:
        v2.5.0
      • pingSupplier

        public WHttpTask pingSupplier​(PingSupplier pingSupplier)
        参数:
        pingSupplier - 心跳数据提供者
        返回:
        WebSocketTask
      • listen

        public WebSocket listen()
        启动 WebSocket 监听
        返回:
        WebSocket
      • close

        public boolean close​(int code,
                             String reason)
        参数:
        code - 状态码
        reason - 原因
        返回:
        true: 被关闭, false: 当前尚未建立连接
        从以下版本开始:
        v3.1.0
      • isConnected

        public boolean isConnected()
        返回:
        连接是否已建立
      • setOnClosed

        public WHttpTask setOnClosed​(WebSocket.Listener<WebSocket.Close> onClosed)
        已关闭监听(当连接被取消或发生异常时,也会走该回调)
        参数:
        onClosed - 监听器
        返回:
        WebSocketTask
      • setMaxClosingSecs

        public void setMaxClosingSecs​(int maxClosingSecs)
        设置在 OnClosing 回调执行完毕后,OnClosed 回调执行的最晚延迟时间
        参数:
        maxClosingSecs - 最大 Closing 时长(单位:秒,默认:10秒)
      • pingSeconds

        public int pingSeconds()
      • pongSeconds

        public int pongSeconds()