- 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 int
CLOSECODE_CLIENTCLOSE
static int
CLOSECODE_ILLPACKET
static int
CLOSECODE_SERVERCLOSE
static int
CLOSECODE_WSEXCEPTION
static int
RETCODE_DELAYSEND
static int
RETCODE_ENGINE_NULL
static int
RETCODE_GROUP_EMPTY
static int
RETCODE_ILLEGALBUFFER
static int
RETCODE_NODESERVICE_NULL
static int
RETCODE_SEND_ILLPACKET
static int
RETCODE_SENDEXCEPTION
static int
RETCODE_WSOCKET_CLOSED
static int
RETCODE_WSOFFLINE
-
构造器概要
构造器 限定符 构造器 说明 protected
WebSocket()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 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的useridvoid
close()
显式地关闭WebSocketprotected abstract CompletableFuture<G>
createUserid()
创建userid, null表示异常, 必须实现该方法protected WebSocket
findLocalWebSocket(G userid)
获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户单连接模式CompletableFuture<Integer>
forceCloseWebSocket(Serializable userid)
强制关闭用户的所有WebSocket<V> V
getAttribute(String name)
获取当前WebSocket下的属性,非线程安全protected Convert
getBinaryConvert()
long
getCreateTime()
long
getLastPingTime()
获取最后一次发送PING消息的时间long
getLastReadTime()
获取最后一次读取消息的时间long
getLastSendTime()
获取最后一次发送消息的时间protected Collection<WebSocket>
getLocalWebSockets()
获取当前进程节点所有在线的WebSocketprotected Stream<WebSocket>
getLocalWebSockets(G userid)
获取指定userid的WebSocket数组, 没有返回null
此方法用于单用户多连接模式Logger
getLogger()
获取LoggerString
getRemoteAddr()
获取客户端真实地址 同 HttpRequest.getRemoteAddr()SocketAddress
getRemoteAddress()
获取客户端直接地址, 当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 Convert
getSendConvert()
String
getSessionid()
获取当前WebSocket的会话ID, 不会为nullInetSocketAddress
getSncpAddress()
获取分布式情况下的SNCP地址, 非分布式下为nullprotected Convert
getTextConvert()
G
getUserid()
获取当前WebSocket所属的useridboolean
isClosed()
是否关闭CompletableFuture
onClose(int code, String reason)
关闭的回调方法,调用此方法时WebSocket已经被关闭CompletableFuture
onConnected()
WebSokcet连接成功后的回调方法void
onMessage(byte[] bytes, boolean last)
接收到二进制消息的回调方法void
onMessage(String text, boolean last)
接收到文本消息的回调方法void
onMessage(T message, boolean last)
接收到消息的回调方法void
onOccurException(Throwable t, ByteBuffer[] buffers)
发生异常时调用protected CompletableFuture<String>
onOpen(HttpRequest request)
返回sessionid, null表示连接不合法或异常,默认实现是request.sessionid(true),通常需要重写该方法void
onPing(byte[] bytes)
ping后的回调方法void
onPong(byte[] bytes)
pong后的回调方法CompletableFuture<Boolean>
onSingleRepeatConnect()
当Single模式下用户重复登录时回调函数,默认处理方式: 关闭旧连接protected boolean
predicate(WebSocketRange wsrange)
WebSocket.broadcastMessage时的过滤条件void
preOnMessage(String restMapping, WebSocketParam param, Runnable messageEvent)
接收到消息前的拦截方法, ping/pong不在其内
注意:处理完后需要调用 messageEvent.run() 才能响应onMessage<V> V
removeAttribute(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)
void
setAttribute(String name, Object value)
给当前WebSocket下的增加属性,非线程安全protected void
setBinaryConvert(Convert convert)
protected void
setSendConvert(Convert convert)
protected void
setTextConvert(Convert convert)
String
toString()
WebSocketNode
webSocketNode()
获取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
-
-