diff --git a/src/org/redkale/net/http/WebSocket.java b/src/org/redkale/net/http/WebSocket.java index 507827cb5..5363eb6ab 100644 --- a/src/org/redkale/net/http/WebSocket.java +++ b/src/org/redkale/net/http/WebSocket.java @@ -82,6 +82,8 @@ public abstract class WebSocket { private long createtime = System.currentTimeMillis(); + private long pingtime; + private Map attributes = new HashMap<>(); //非线程安全 protected WebSocket() { @@ -89,11 +91,13 @@ public abstract class WebSocket { //---------------------------------------------------------------- public final CompletableFuture sendPing() { + this.pingtime = System.currentTimeMillis(); //if (_engine.finest) _engine.logger.finest(this + " on "+_engine.getEngineid()+" ping..."); return sendPacket(WebSocketPacket.DEFAULT_PING_PACKET); } public final CompletableFuture sendPing(byte[] data) { + this.pingtime = System.currentTimeMillis(); return sendPacket(new WebSocketPacket(FrameType.PING, data)); } @@ -487,6 +491,15 @@ public abstract class WebSocket { return this._runner == null ? 0 : this._runner.lastSendTime; } + /** + * 获取最后一次发送PING消息的时间 + * + * @return long + */ + public long getLastPingTime() { + return this.pingtime; + } + /** * 显式地关闭WebSocket */