- java.lang.Object
-
- com.ejlchina.okhttps.HttpTask<WHttpTask>
-
- com.ejlchina.okhttps.WHttpTask
-
- 所有已实现的接口:
Cancelable
public class WHttpTask extends HttpTask<WHttpTask>
-
-
字段概要
-
从类继承的字段 com.ejlchina.okhttps.HttpTask
httpClient, nextOnIO, nothrow, skipPreproc, skipSerialPreproc
-
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 booleanclose(int code, String reason)WHttpTaskflexiblePing(boolean flexiblePing)用于兼容某些强制客户端必须以固定的时间间隔发送心跳的服务器WHttpTaskheatbeat(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)方法指定心跳发送的具体内容booleanisConnected()booleanisWebsocket()WebSocketlisten()启动 WebSocket 监听intpingSeconds()PingSupplierpingSupplier()WHttpTaskpingSupplier(PingSupplier pingSupplier)intpongSeconds()voidsetMaxClosingSecs(int maxClosingSecs)设置在 OnClosing 回调执行完毕后,OnClosed 回调执行的最晚延迟时间WHttpTasksetOnClosed(WebSocket.Listener<WebSocket.Close> onClosed)已关闭监听(当连接被取消或发生异常时,也会走该回调)WHttpTasksetOnClosing(WebSocket.Listener<WebSocket.Close> onClosing)正在关闭监听WHttpTasksetOnException(WebSocket.Listener<Throwable> onException)连接异常监听WHttpTasksetOnMessage(WebSocket.Listener<WebSocket.Message> onMessage)消息监听WHttpTasksetOnOpen(WebSocket.Listener<HttpResult> onOpen)连接打开监听-
从类继承的方法 com.ejlchina.okhttps.HttpTask
addBodyPara, addBodyPara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addFilePara, addHeader, addHeader, addPathPara, addPathPara, addUrlPara, addUrlPara, assertNotConflict, bind, bodyType, cancel, charset, charset, execute, getBodyParas, getBodyType, getBound, getFileParas, getHeaders, getPathParas, getRequestBody, getTag, getUrl, getUrlParas, isAsyncHttp, isSyncHttp, isTagged, nextOnIO, nothrow, prepareCall, prepareRequest, registeTagTask, removeTagTask, setBodyPara, setOnProcess, setRange, setRange, skipPreproc, skipSerialPreproc, stepBytes, stepRate, tag, timeoutAwait, timeoutResult, toState
-
-
-
-
构造器详细资料
-
WHttpTask
public WHttpTask(com.ejlchina.okhttps.internal.AbstractHttpClient httpClient, String url)
-
-
方法详细资料
-
isWebsocket
public boolean isWebsocket()
- 覆盖:
isWebsocket在类中HttpTask<WHttpTask>- 返回:
- 是否是 Websocket 通讯
-
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
-
pingSupplier
public PingSupplier pingSupplier()
-
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()
- 返回:
- 连接是否已建立
-
setOnOpen
public WHttpTask setOnOpen(WebSocket.Listener<HttpResult> onOpen)
连接打开监听- 参数:
onOpen- 监听器- 返回:
- WebSocketTask
-
setOnException
public WHttpTask setOnException(WebSocket.Listener<Throwable> onException)
连接异常监听- 参数:
onException- 监听器- 返回:
- WebSocketTask
-
setOnMessage
public WHttpTask setOnMessage(WebSocket.Listener<WebSocket.Message> onMessage)
消息监听- 参数:
onMessage- 监听器- 返回:
- WebSocketTask
-
setOnClosing
public WHttpTask setOnClosing(WebSocket.Listener<WebSocket.Close> onClosing)
正在关闭监听- 参数:
onClosing- 监听器- 返回:
- WebSocketTask
-
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()
-
-