This commit is contained in:
wentch
2015-12-29 11:01:52 +08:00
parent 3fbb5d37b3
commit 82ce0b6e78
2 changed files with 20 additions and 16 deletions

View File

@@ -64,6 +64,10 @@ public abstract class WebSocketNode {
protected abstract void disconnect(Serializable groupid, InetSocketAddress addr);
//--------------------------------------------------------------------------------
protected List<String> remoteOnlineRemoteAddresses(@DynTargetAddress InetSocketAddress targetAddress, Serializable groupid) {
return remoteNode.getOnlineRemoteAddresses(targetAddress, groupid);
}
/**
* 获取在线用户的节点地址列表
*
@@ -81,15 +85,15 @@ public abstract class WebSocketNode {
* @return
*/
public Map<InetSocketAddress, List<String>> getOnlineRemoteAddress(final Serializable groupid) {
Collection<InetSocketAddress> nodes = getOnlineNodes(groupid);
if(nodes == null) return null;
final Map<InetSocketAddress, List<String>> map = new HashMap();
for(InetSocketAddress nodeAddress : nodes) {
List<String> list = getOnlineRemoteAddresses(nodeAddress, groupid);
if(list == null) list = new ArrayList();
map.put(nodeAddress, list);
}
return map;
Collection<InetSocketAddress> nodes = getOnlineNodes(groupid);
if (nodes == null) return null;
final Map<InetSocketAddress, List<String>> map = new HashMap();
for (InetSocketAddress nodeAddress : nodes) {
List<String> list = getOnlineRemoteAddresses(nodeAddress, groupid);
if (list == null) list = new ArrayList();
map.put(nodeAddress, list);
}
return map;
}
public final void connect(Serializable groupid, String engineid) {

View File

@@ -32,7 +32,7 @@ public class WebSocketNodeService extends WebSocketNode implements Service {
@Override
public List<String> getOnlineRemoteAddresses(@DynTargetAddress InetSocketAddress targetAddress, Serializable groupid) {
if (localSncpAddress == null || !localSncpAddress.equals(targetAddress)) return ((WebSocketNodeService) remoteNode).getOnlineRemoteAddresses(targetAddress, groupid);
if (localSncpAddress == null || !localSncpAddress.equals(targetAddress)) return remoteOnlineRemoteAddresses(targetAddress, groupid);
final Set<String> engineids = localNodes.get(groupid);
if (engineids == null || engineids.isEmpty()) return null;
final List<String> rs = new ArrayList<>();