-
-
-
方法概要
boolean
用于兼容某些强制客户端必须以固定的时间间隔发送心跳的服务器
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(Supplier) 方法指定心跳发送的具体内容
boolean
boolean
int
int
设置在 OnClosing 回调执行完毕后,OnClosed 回调执行的最晚延迟时间
已关闭监听(当连接被取消或发生异常时,也会走该回调)
从类继承的方法 com.ejlchina.okhttps.HttpTask
addBodyPara, addBodyPara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addHeader, addHeader, addPathPara, addPathPara, addUrlPara, addUrlPara, assertNotConflict, basicAuth, bearerAuth, bind, bodyType, boundary, boundary, cancel, charset, charset, execute, getBodyParas, getBodyType, getBound, getFileParas, getHeaders, getPathParas, getRequestBody, getTag, getUrl, getUrlParas, httpClient, isAsyncHttp, isSyncHttp, isTagged, nextOnIO, nothrow, prepareCall, prepareRequest, registeTagTask, removeTagTask, setBodyPara, setOnProcess, setRange, setRange, skipPreproc, skipSerialPreproc, stepBytes, stepRate, tag, timeoutAwait, timeoutResult, toState
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
方法详细资料
-
-
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(Supplier) 方法指定心跳发送的具体内容
- 参数:
pingSeconds - 客户端心跳间隔秒数(0 表示不需要心跳)
pongSeconds - 服务器心跳间隔秒数(0 表示不需要心跳)
- 返回:
- WHttpTask
- 从以下版本开始:
- v2.3.0
-
flexiblePing
public WHttpTask flexiblePing(boolean flexiblePing)
用于兼容某些强制客户端必须以固定的时间间隔发送心跳的服务器
- 参数:
flexiblePing - Ping 的间隔是否灵活可变(默认为 true, 为 false 时客户端 Ping 的间隔固定,普通的消息不做为 Ping)
- 返回:
- WHttpTask
- 从以下版本开始:
- v2.5.0
-
pingSupplier
- 参数:
pingSupplier - 心跳数据提供者
- 返回:
- WHttpTask
-
-
listen
启动 WebSocket 监听
- 返回:
- WebSocket
-
close
public boolean close(int code,
String reason)
- 参数:
code - 状态码
reason - 原因
- 返回:
- true: 被关闭, false: 当前尚未建立连接
- 从以下版本开始:
- v3.1.0
-
isConnected
public boolean isConnected()
- 返回:
- 连接是否已建立
-
setOnOpen
连接打开监听
- 参数:
onOpen - 监听器
- 返回:
- WHttpTask
-
setOnException
连接异常监听
- 参数:
onException - 监听器
- 返回:
- WHttpTask
-
setOnMessage
消息监听
- 参数:
onMessage - 监听器
- 返回:
- WHttpTask
-
setOnClosing
正在关闭监听
- 参数:
onClosing - 监听器
- 返回:
- WHttpTask
-
setOnClosed
已关闭监听(当连接被取消或发生异常时,也会走该回调)
- 参数:
onClosed - 监听器
- 返回:
- WHttpTask
-
setMaxClosingSecs
public WHttpTask setMaxClosingSecs(int maxClosingSecs)
设置在 OnClosing 回调执行完毕后,OnClosed 回调执行的最晚延迟时间
- 参数:
maxClosingSecs - 最大 Closing 时长(单位:秒,默认:10秒)
- 返回:
- WHttpTask
-
pingSeconds
public int pingSeconds()
-
pongSeconds
public int pongSeconds()