This commit is contained in:
地平线
2015-06-29 08:46:50 +08:00
parent 1fb1d17f52
commit 3b174bfb45
3 changed files with 13 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ public final class WebSocketEngine {
if (group == null) {
group = new WebSocketGroup(socket.groupid);
containers.put(socket.groupid, group);
group.recentWebSocket = socket;
}
group.add(socket);
}

View File

@@ -18,6 +18,8 @@ public final class WebSocketGroup {
private final Serializable groupid;
WebSocket recentWebSocket;
private final List<WebSocket> list = new CopyOnWriteArrayList<>();
private final Map<String, Object> attributes = new HashMap<>();
@@ -47,6 +49,15 @@ public final class WebSocketGroup {
return list.isEmpty();
}
/**
* 最近发送消息的WebSocket
* <p>
* @return
*/
public final WebSocket getRecentWebSocket() {
return recentWebSocket;
}
@SuppressWarnings("unchecked")
public final <T> T getAttribute(String name) {
return (T) attributes.get(name);

View File

@@ -80,6 +80,7 @@ public class WebSocketRunner implements Runnable {
readBuffer.clear();
channel.read(readBuffer, null, this);
}
webSocket.group.recentWebSocket = webSocket;
if (packet.type == PacketType.TEXT) {
webSocket.onMessage(packet.getPayload());
} else if (packet.type == PacketType.BINARY) {