This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user