@AutoLoad(value=false) @ResourceType(value=WebSocketNode.class) public class WebSocketNodeService extends WebSocketNode implements Service
详情见: https://redkale.org
localEngine, localSncpAddress, logger, remoteNode, semaphore, sendConvert, sncpNodeAddresses, SOURCE_SNCP_ADDRS_KEY, SOURCE_SNCP_USERID_PREFIX
构造器和说明 |
---|
WebSocketNodeService() |
限定符和类型 | 方法和说明 |
---|---|
java.util.concurrent.CompletableFuture<java.lang.Integer> |
broadcastAction(java.net.InetSocketAddress targetAddress,
WebSocketAction action) |
java.util.concurrent.CompletableFuture<java.lang.Integer> |
broadcastMessage(java.net.InetSocketAddress targetAddress,
WebSocketRange wsrange,
java.lang.Object message,
boolean last) |
java.util.concurrent.CompletableFuture<java.lang.Void> |
changeUserid(java.io.Serializable olduserid,
java.io.Serializable newuserid,
java.net.InetSocketAddress sncpAddr)
更改用户ID,需要更新到CacheSource
|
java.util.concurrent.CompletableFuture<java.lang.Void> |
connect(java.io.Serializable userid,
java.net.InetSocketAddress sncpAddr)
当用户连接到节点,需要更新到CacheSource
|
void |
destroy(AnyValue conf)
进程退出时,调用Service销毁
远程模式下该方法会重载成空方法
|
java.util.concurrent.CompletableFuture<java.lang.Void> |
disconnect(java.io.Serializable userid,
java.net.InetSocketAddress sncpAddr)
当用户从一个节点断掉了所有的连接,需要从CacheSource中删除
|
java.util.concurrent.CompletableFuture<java.lang.Boolean> |
existsWebSocket(java.io.Serializable userid,
java.net.InetSocketAddress targetAddress)
判断用户是否有WebSocket
|
java.util.concurrent.CompletableFuture<java.lang.Integer> |
forceCloseWebSocket(java.io.Serializable userid,
java.net.InetSocketAddress targetAddress)
强制关闭用户的WebSocket
|
java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> |
getWebSocketAddresses(java.net.InetSocketAddress targetAddress,
java.io.Serializable groupid) |
void |
init(AnyValue conf)
该方法必须是可以重复调用, 当reload时需要重复调用init方法
远程模式下该方法会重载成空方法
|
java.util.concurrent.CompletableFuture<java.lang.Integer> |
sendAction(java.net.InetSocketAddress targetAddress,
WebSocketAction action,
java.io.Serializable... userids) |
java.util.concurrent.CompletableFuture<java.lang.Integer> |
sendMessage(java.net.InetSocketAddress targetAddress,
java.lang.Object message,
boolean last,
java.io.Serializable... userids) |
broadcastAction, broadcastMessage, broadcastMessage, broadcastMessage, broadcastMessage, broadcastMessage, broadcastMessage, broadcastMessage, broadcastMessage, existsWebSocket, existsWebSocket, forceCloseWebSocket, forceCloseWebSocket, formatRemoteMessage, getLocalWebSocketEngine, getRpcNodeAddresses, getRpcNodeWebSocketAddresses, getSemaphore, getUserSize, postDestroy, releaseSemaphore, remoteWebSocketAddresses, sendAction, sendAction, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendOneAddrAction, sendOneAddrMessage, sendOneUserAction, sendOneUserMessage, tryAcquireSemaphore, userAddressToAddrMap, userAddressToUserids
public void init(AnyValue conf)
Service
init
在接口中 Service
init
在类中 WebSocketNode
conf
- 配置参数public void destroy(AnyValue conf)
Service
destroy
在接口中 Service
destroy
在类中 WebSocketNode
conf
- 配置参数public java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> getWebSocketAddresses(@RpcTargetAddress java.net.InetSocketAddress targetAddress, java.io.Serializable groupid)
getWebSocketAddresses
在类中 WebSocketNode
public java.util.concurrent.CompletableFuture<java.lang.Integer> sendMessage(@RpcTargetAddress java.net.InetSocketAddress targetAddress, java.lang.Object message, boolean last, java.io.Serializable... userids)
sendMessage
在类中 WebSocketNode
public java.util.concurrent.CompletableFuture<java.lang.Integer> broadcastMessage(@RpcTargetAddress java.net.InetSocketAddress targetAddress, WebSocketRange wsrange, java.lang.Object message, boolean last)
broadcastMessage
在类中 WebSocketNode
public java.util.concurrent.CompletableFuture<java.lang.Integer> sendAction(@RpcTargetAddress java.net.InetSocketAddress targetAddress, WebSocketAction action, java.io.Serializable... userids)
sendAction
在类中 WebSocketNode
public java.util.concurrent.CompletableFuture<java.lang.Integer> broadcastAction(@RpcTargetAddress java.net.InetSocketAddress targetAddress, WebSocketAction action)
broadcastAction
在类中 WebSocketNode
public java.util.concurrent.CompletableFuture<java.lang.Void> connect(java.io.Serializable userid, java.net.InetSocketAddress sncpAddr)
connect
在类中 WebSocketNode
userid
- SerializablesncpAddr
- InetSocketAddresspublic java.util.concurrent.CompletableFuture<java.lang.Void> disconnect(java.io.Serializable userid, java.net.InetSocketAddress sncpAddr)
disconnect
在类中 WebSocketNode
userid
- SerializablesncpAddr
- InetSocketAddresspublic java.util.concurrent.CompletableFuture<java.lang.Void> changeUserid(java.io.Serializable olduserid, java.io.Serializable newuserid, java.net.InetSocketAddress sncpAddr)
changeUserid
在类中 WebSocketNode
olduserid
- Serializablenewuserid
- SerializablesncpAddr
- InetSocketAddresspublic java.util.concurrent.CompletableFuture<java.lang.Boolean> existsWebSocket(java.io.Serializable userid, @RpcTargetAddress java.net.InetSocketAddress targetAddress)
existsWebSocket
在类中 WebSocketNode
userid
- SerializabletargetAddress
- InetSocketAddresspublic java.util.concurrent.CompletableFuture<java.lang.Integer> forceCloseWebSocket(java.io.Serializable userid, @RpcTargetAddress java.net.InetSocketAddress targetAddress)
forceCloseWebSocket
在类中 WebSocketNode
userid
- SerializabletargetAddress
- InetSocketAddress