- java.lang.Object
-
- org.redkale.net.http.WebSocket<G,T>
-
- 类型参数:
G- Groupid的泛型T- Message的泛型
public abstract class WebSocket<G extends Serializable,T> extends Object
一个WebSocket连接对应一个WebSocket实体,即一个WebSocket会绑定一个TCP连接。 协议上符合HTML5规范, 其流程顺序如下: 1.1 onOpen 若返回null,视为WebSocket的连接不合法,强制关闭WebSocket连接;通常用于判断登录态。 1.2 createUserid 若返回null,视为WebSocket的连接不合法,强制关闭WebSocket连接;通常用于判断用户权限是否符合。 1.3 onConnected WebSocket成功连接后在准备接收数据前回调此方法。 1.4 onMessage/onFragment+ WebSocket接收到消息后回调此消息类方法。 1.5 onClose WebSocket被关闭后回调此方法。 普通模式下 以上方法都应该被重载。详情见: https://redkale.org
- 作者:
- zhangjx
-
-
字段概要
字段 修饰符和类型 字段 说明 static intCLOSECODE_CLIENTCLOSEstatic intCLOSECODE_ILLPACKETstatic intCLOSECODE_SERVERCLOSEstatic intCLOSECODE_WSEXCEPTIONstatic intRETCODE_DELAYSENDstatic intRETCODE_ENGINE_NULLstatic intRETCODE_GROUP_EMPTYstatic intRETCODE_ILLEGALBUFFERstatic intRETCODE_NODESERVICE_NULLstatic intRETCODE_SEND_ILLPACKETstatic intRETCODE_SENDEXCEPTIONstatic intRETCODE_WSOCKET_CLOSEDstatic intRETCODE_WSOFFLINE
-
构造器概要
构造器 限定符 构造器 说明 protectedWebSocket()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 protected CompletableFuture<Integer>action(WebSocketAction action)WebSocket.broadcastAction时的操作CompletableFuture<Integer>broadcastAction(WebSocketAction action)广播操作, 给所有人发操作指令CompletableFuture<Integer>broadcastMessage(Object message)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(Object message, boolean last)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(Convert convert, Object message)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(Convert convert, Object message, boolean last)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(WebSocketRange wsrange, Object message)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(WebSocketRange wsrange, Object message, boolean last)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(WebSocketRange wsrange, Convert convert, Object message)广播消息, 给所有人发消息CompletableFuture<Integer>broadcastMessage(WebSocketRange wsrange, Convert convert, Object message, boolean last)广播消息, 给所有人发消息CompletableFuture<Void>changeUserid(G newuserid)更改本WebSocket的useridvoidclose()显式地关闭WebSocketprotected abstract CompletableFuture<G>createUserid()创建userid, null表示异常, 必须实现该方法protected WebSocketfindLocalWebSocket(G userid)获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户单连接模式CompletableFuture<Integer>forceCloseWebSocket(Serializable userid)强制关闭用户的所有WebSocket<V> VgetAttribute(String name)获取当前WebSocket下的属性,非线程安全protected ConvertgetBinaryConvert()longgetCreateTime()longgetLastPingTime()获取最后一次发送PING消息的时间longgetLastReadTime()获取最后一次读取消息的时间longgetLastSendTime()获取最后一次发送消息的时间protected Collection<WebSocket>getLocalWebSockets()获取当前进程节点所有在线的WebSocketprotected Stream<WebSocket>getLocalWebSockets(G userid)获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户多连接模式LoggergetLogger()获取LoggerStringgetRemoteAddr()获取客户端真实地址 同 HttpRequest.getRemoteAddr()SocketAddressgetRemoteAddress()获取客户端直接地址, 当WebSocket连接是由代理服务器转发的,则该值固定为代理服务器的IP地址CompletableFuture<Set<WebSocketAddress>>getRpcNodeAddresses(Serializable userid)获取用户在线的SNCP节点地址列表,不是分布式则返回元素数量为1,且元素值为null的列表
InetSocketAddress 为 SNCP节点地址CompletableFuture<Map<WebSocketAddress,List<String>>>getRpcNodeWebSocketAddresses(Serializable userid)获取在线用户的详细连接信息
Map.key 为 SNCP节点地址, 含值为null的key表示没有分布式 Map.value 为 用户客户端的IPprotected ConvertgetSendConvert()StringgetSessionid()获取当前WebSocket的会话ID, 不会为nullInetSocketAddressgetSncpAddress()获取分布式情况下的SNCP地址, 非分布式下为nullprotected ConvertgetTextConvert()GgetUserid()获取当前WebSocket所属的useridbooleanisClosed()是否关闭CompletableFutureonClose(int code, String reason)关闭的回调方法,调用此方法时WebSocket已经被关闭CompletableFutureonConnected()WebSokcet连接成功后的回调方法voidonMessage(byte[] bytes, boolean last)接收到二进制消息的回调方法voidonMessage(String text, boolean last)接收到文本消息的回调方法voidonMessage(T message, boolean last)接收到消息的回调方法voidonOccurException(Throwable t, ByteBuffer[] buffers)发生异常时调用protected CompletableFuture<String>onOpen(HttpRequest request)返回sessionid, null表示连接不合法或异常,默认实现是request.sessionid(true),通常需要重写该方法voidonPing(byte[] bytes)ping后的回调方法voidonPong(byte[] bytes)pong后的回调方法CompletableFuture<Boolean>onSingleRepeatConnect()当Single模式下用户重复登录时回调函数,默认处理方式: 关闭旧连接protected booleanpredicate(WebSocketRange wsrange)WebSocket.broadcastMessage时的过滤条件voidpreOnMessage(String restMapping, WebSocketParam param, Runnable messageEvent)接收到消息前的拦截方法, ping/pong不在其内
注意:处理完后需要调用 messageEvent.run() 才能响应onMessage<V> VremoveAttribute(String name)移出当前WebSocket下的属性,非线程安全CompletableFuture<Integer>send(Object message)给自身发送消息, 消息类型是String或byte[]或可JavaBean对象CompletableFuture<Integer>send(Object message, boolean last)给自身发送消息, 消息类型是String或byte[]或可JavaBean对象CompletableFuture<Integer>send(Convert convert, Object message)给自身发送消息, 消息类型是JavaBean对象CompletableFuture<Integer>send(Convert convert, Object message, boolean last)给自身发送消息, 消息类型是JavaBean对象CompletableFuture<Integer>sendAction(WebSocketAction action, Serializable... userids)给指定userid的WebSocket节点发送操作CompletableFuture<Integer>sendMessage(Object message, boolean last, G... userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Object message, boolean last, Stream<G> userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Object message, G... userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Object message, Stream<G> userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Convert convert, Object message, boolean last, Serializable... userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Convert convert, Object message, boolean last, Stream<G> userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Convert convert, Object message, G... userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendMessage(Convert convert, Object message, Stream<G> userids)给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息CompletableFuture<Integer>sendPing()CompletableFuture<Integer>sendPing(byte[] data)CompletableFuture<Integer>sendPong(byte[] data)voidsetAttribute(String name, Object value)给当前WebSocket下的增加属性,非线程安全protected voidsetBinaryConvert(Convert convert)protected voidsetSendConvert(Convert convert)protected voidsetTextConvert(Convert convert)StringtoString()WebSocketNodewebSocketNode()获取WebSocketNode
-
-
-
字段详细资料
-
CLOSECODE_SERVERCLOSE
@Comment("\u670d\u52a1\u5668\u4e3b\u52a8\u5173\u95ed") public static final int CLOSECODE_SERVERCLOSE
- 另请参阅:
- 常量字段值
-
CLOSECODE_CLIENTCLOSE
@Comment("\u5ba2\u6237\u7aef\u4e3b\u52a8\u5173\u95ed") public static final int CLOSECODE_CLIENTCLOSE
- 另请参阅:
- 常量字段值
-
CLOSECODE_WSEXCEPTION
@Comment("\u5f02\u5e38\u5173\u95ed") public static final int CLOSECODE_WSEXCEPTION
- 另请参阅:
- 常量字段值
-
CLOSECODE_ILLPACKET
@Comment("\u5f02\u5e38\u6570\u636e\u5f3a\u5236\u5173\u95ed") public static final int CLOSECODE_ILLPACKET
- 另请参阅:
- 常量字段值
-
RETCODE_SEND_ILLPACKET
@Comment("\u6d88\u606f\u4e0d\u5408\u6cd5") public static final int RETCODE_SEND_ILLPACKET
- 另请参阅:
- 常量字段值
-
RETCODE_WSOCKET_CLOSED
@Comment("WebSocket\u5df2\u7ecf\u5173\u95ed") public static final int RETCODE_WSOCKET_CLOSED
- 另请参阅:
- 常量字段值
-
RETCODE_ILLEGALBUFFER
@Comment("Socket\u7684buffer\u4e0d\u5408\u6cd5") public static final int RETCODE_ILLEGALBUFFER
- 另请参阅:
- 常量字段值
-
RETCODE_SENDEXCEPTION
@Comment("WebSocket\u53d1\u9001\u6d88\u606f\u5f02\u5e38") public static final int RETCODE_SENDEXCEPTION
- 另请参阅:
- 常量字段值
-
RETCODE_ENGINE_NULL
@Comment("WebSocketEngine\u5b9e\u4f8b\u4e0d\u5b58\u5728") public static final int RETCODE_ENGINE_NULL
- 另请参阅:
- 常量字段值
-
RETCODE_NODESERVICE_NULL
@Comment("WebSocketNode\u5b9e\u4f8b\u4e0d\u5b58\u5728") public static final int RETCODE_NODESERVICE_NULL
- 另请参阅:
- 常量字段值
-
RETCODE_GROUP_EMPTY
@Comment("WebSocket\u7ec4\u4e3a\u7a7a, \u8868\u793a\u65e0WebSocket\u8fde\u63a5") public static final int RETCODE_GROUP_EMPTY
- 另请参阅:
- 常量字段值
-
RETCODE_WSOFFLINE
@Comment("WebSocket\u5df2\u79bb\u7ebf") public static final int RETCODE_WSOFFLINE
- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
sendPing
public final CompletableFuture<Integer> sendPing()
-
sendPing
public final CompletableFuture<Integer> sendPing(byte[] data)
-
sendPong
public final CompletableFuture<Integer> sendPong(byte[] data)
-
getCreateTime
public final long getCreateTime()
-
send
public final CompletableFuture<Integer> send(Object message)
给自身发送消息, 消息类型是String或byte[]或可JavaBean对象- 参数:
message- 不可为空, 只能是String或byte[]或可JavaBean对象- 返回:
- 0表示成功, 非0表示错误码
-
send
public final CompletableFuture<Integer> send(Object message, boolean last)
给自身发送消息, 消息类型是String或byte[]或可JavaBean对象- 参数:
message- 不可为空, 只能是String或byte[]或可JavaBean对象last- 是否最后一条- 返回:
- 0表示成功, 非0表示错误码
-
send
public final CompletableFuture<Integer> send(Convert convert, Object message)
给自身发送消息, 消息类型是JavaBean对象- 参数:
convert- Convertmessage- 不可为空, 只能是JSON对象- 返回:
- 0表示成功, 非0表示错误码
-
send
public final CompletableFuture<Integer> send(Convert convert, Object message, boolean last)
给自身发送消息, 消息类型是JavaBean对象- 参数:
convert- Convertmessage- 不可为空, 只能是JavaBean对象last- 是否最后一条- 返回:
- 0表示成功, 非0表示错误码
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Object message, Stream<G> userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
message- 不可为空userids- Stream- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Object message, G... userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
message- 不可为空userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Convert convert, Object message, Stream<G> userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
convert- Convertmessage- 不可为空userids- Stream- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Convert convert, Object message, G... userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
convert- Convertmessage- 不可为空userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Object message, boolean last, Stream<G> userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
message- 不可为空last- 是否最后一条userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Object message, boolean last, G... userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
message- 不可为空last- 是否最后一条userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Convert convert, Object message, boolean last, Stream<G> userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
convert- Convertmessage- 不可为空last- 是否最后一条userids- Stream- 返回:
- 为0表示成功, 其他值表示异常
-
sendMessage
public final CompletableFuture<Integer> sendMessage(Convert convert, Object message, boolean last, Serializable... userids)
给指定userid的WebSocket节点发送 二进制消息/文本消息/JavaBean对象消息- 参数:
convert- Convertmessage- 不可为空last- 是否最后一条userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(Object message)
广播消息, 给所有人发消息- 参数:
message- 消息内容- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(WebSocketRange wsrange, Object message)
广播消息, 给所有人发消息- 参数:
wsrange- 过滤条件message- 消息内容- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(Convert convert, Object message)
广播消息, 给所有人发消息- 参数:
convert- Convertmessage- 消息内容- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(WebSocketRange wsrange, Convert convert, Object message)
广播消息, 给所有人发消息- 参数:
wsrange- 过滤条件convert- Convertmessage- 消息内容- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(Object message, boolean last)
广播消息, 给所有人发消息- 参数:
message- 消息内容last- 是否最后一条- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(WebSocketRange wsrange, Object message, boolean last)
广播消息, 给所有人发消息- 参数:
wsrange- 过滤条件message- 消息内容last- 是否最后一条- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(Convert convert, Object message, boolean last)
广播消息, 给所有人发消息- 参数:
convert- Convertmessage- 消息内容last- 是否最后一条- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
broadcastMessage
public final CompletableFuture<Integer> broadcastMessage(WebSocketRange wsrange, Convert convert, Object message, boolean last)
广播消息, 给所有人发消息- 参数:
wsrange- 过滤条件convert- Convertmessage- 消息内容last- 是否最后一条- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
sendAction
public final CompletableFuture<Integer> sendAction(WebSocketAction action, Serializable... userids)
给指定userid的WebSocket节点发送操作- 参数:
action- 操作参数userids- Serializable[]- 返回:
- 为0表示成功, 其他值表示异常
-
broadcastAction
public final CompletableFuture<Integer> broadcastAction(WebSocketAction action)
广播操作, 给所有人发操作指令- 参数:
action- 操作参数- 返回:
- 为0表示成功, 其他值表示部分发送异常
-
getRpcNodeAddresses
public CompletableFuture<Set<WebSocketAddress>> getRpcNodeAddresses(Serializable userid)
获取用户在线的SNCP节点地址列表,不是分布式则返回元素数量为1,且元素值为null的列表
InetSocketAddress 为 SNCP节点地址- 参数:
userid- Serializable- 返回:
- 地址列表
-
getRpcNodeWebSocketAddresses
public CompletableFuture<Map<WebSocketAddress,List<String>>> getRpcNodeWebSocketAddresses(Serializable userid)
获取在线用户的详细连接信息
Map.key 为 SNCP节点地址, 含值为null的key表示没有分布式 Map.value 为 用户客户端的IP- 参数:
userid- Serializable- 返回:
- 地址集合
-
changeUserid
public CompletableFuture<Void> changeUserid(G newuserid)
更改本WebSocket的userid- 参数:
newuserid- 新用户ID,不能为null- 返回:
- CompletableFuture
-
forceCloseWebSocket
@Comment("\u5f3a\u5236\u5173\u95ed\u7528\u6237\u7684\u6240\u6709WebSocket") public CompletableFuture<Integer> forceCloseWebSocket(Serializable userid)
强制关闭用户的所有WebSocket- 参数:
userid- Serializable- 返回:
- int
-
webSocketNode
@Comment("\u83b7\u53d6WebSocketNode") public final WebSocketNode webSocketNode()
获取WebSocketNode- 返回:
- WebSocketNode
-
getAttribute
public final <V> V getAttribute(String name)
获取当前WebSocket下的属性,非线程安全- 类型参数:
V- 属性值的类型- 参数:
name- 属性名- 返回:
- 属性值
-
removeAttribute
public final <V> V removeAttribute(String name)
移出当前WebSocket下的属性,非线程安全- 类型参数:
V- 属性值的类型- 参数:
name- 属性名- 返回:
- 属性值
-
setAttribute
public final void setAttribute(String name, Object value)
给当前WebSocket下的增加属性,非线程安全- 参数:
name- 属性值value- 属性值
-
getUserid
public final G getUserid()
获取当前WebSocket所属的userid- 返回:
- userid
-
getSessionid
public final String getSessionid()
获取当前WebSocket的会话ID, 不会为null- 返回:
- sessionid
-
getRemoteAddress
public final SocketAddress getRemoteAddress()
获取客户端直接地址, 当WebSocket连接是由代理服务器转发的,则该值固定为代理服务器的IP地址- 返回:
- SocketAddress
-
getRemoteAddr
public final String getRemoteAddr()
获取客户端真实地址 同 HttpRequest.getRemoteAddr()- 返回:
- String
-
getTextConvert
protected Convert getTextConvert()
-
getBinaryConvert
protected Convert getBinaryConvert()
-
getSendConvert
protected Convert getSendConvert()
-
setTextConvert
protected void setTextConvert(Convert convert)
-
setBinaryConvert
protected void setBinaryConvert(Convert convert)
-
setSendConvert
protected void setSendConvert(Convert convert)
-
getLocalWebSockets
protected final Stream<WebSocket> getLocalWebSockets(G userid)
获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户多连接模式- 参数:
userid- Serializable- 返回:
- WebSocket集合
-
findLocalWebSocket
protected final WebSocket findLocalWebSocket(G userid)
获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户单连接模式- 参数:
userid- Serializable- 返回:
- WebSocket
-
getLocalWebSockets
protected final Collection<WebSocket> getLocalWebSockets()
获取当前进程节点所有在线的WebSocket- 返回:
- WebSocketGroup列表
-
onOpen
protected CompletableFuture<String> onOpen(HttpRequest request)
返回sessionid, null表示连接不合法或异常,默认实现是request.sessionid(true),通常需要重写该方法- 参数:
request- HttpRequest- 返回:
- sessionid
-
createUserid
protected abstract CompletableFuture<G> createUserid()
创建userid, null表示异常, 必须实现该方法- 返回:
- userid
-
predicate
protected boolean predicate(WebSocketRange wsrange)
WebSocket.broadcastMessage时的过滤条件- 参数:
wsrange- 过滤条件- 返回:
- boolean
-
action
protected CompletableFuture<Integer> action(WebSocketAction action)
WebSocket.broadcastAction时的操作- 参数:
action- 操作参数- 返回:
- CompletableFuture
-
onConnected
public CompletableFuture onConnected()
WebSokcet连接成功后的回调方法- 返回:
- Future 可以为null
-
onPing
public void onPing(byte[] bytes)
ping后的回调方法- 参数:
bytes- 数据
-
onPong
public void onPong(byte[] bytes)
pong后的回调方法- 参数:
bytes- 数据
-
preOnMessage
public void preOnMessage(String restMapping, WebSocketParam param, Runnable messageEvent)
接收到消息前的拦截方法, ping/pong不在其内
注意:处理完后需要调用 messageEvent.run() 才能响应onMessage- 参数:
restMapping- Rest的方法名,没有则为空字符串param- onMessage方法的参数messageEvent- onMessage事件
-
onMessage
public void onMessage(T message, boolean last)
接收到消息的回调方法- 参数:
message- 消息last- 是否最后一条
-
onMessage
public void onMessage(String text, boolean last)
接收到文本消息的回调方法- 参数:
text- 消息last- 是否最后一条
-
onMessage
public void onMessage(byte[] bytes, boolean last)接收到二进制消息的回调方法- 参数:
bytes- 消息last- 是否最后一条
-
onClose
public CompletableFuture onClose(int code, String reason)
关闭的回调方法,调用此方法时WebSocket已经被关闭- 参数:
code- 结果码,非0表示非正常关闭reason- 关闭原因- 返回:
- Future 可以为null
-
onOccurException
public void onOccurException(Throwable t, ByteBuffer[] buffers)
发生异常时调用- 参数:
t- 异常buffers- ByteBuffer[]
-
onSingleRepeatConnect
public CompletableFuture<Boolean> onSingleRepeatConnect()
当Single模式下用户重复登录时回调函数,默认处理方式: 关闭旧连接- 返回:
- Future 可以为null, 为null或者Future值为false表示关闭新连接, Future值为true表示关闭旧连接
-
getSncpAddress
public InetSocketAddress getSncpAddress()
获取分布式情况下的SNCP地址, 非分布式下为null- 返回:
- InetSocketAddress sncpAddress
-
getLogger
public Logger getLogger()
获取Logger- 返回:
- Logger Logger
-
getLastSendTime
public long getLastSendTime()
获取最后一次发送消息的时间- 返回:
- long
-
getLastReadTime
public long getLastReadTime()
获取最后一次读取消息的时间- 返回:
- long
-
getLastPingTime
public long getLastPingTime()
获取最后一次发送PING消息的时间- 返回:
- long
-
close
public final void close()
显式地关闭WebSocket
-
isClosed
public final boolean isClosed()
是否关闭- 返回:
- boolean
-
-