From f3bb77c49bf98a30b6709fcc0a70d47900cacd5d Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Mon, 10 Jul 2017 22:46:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=9C=80?= =?UTF-8?q?=E5=90=8E=E4=B8=80=E6=AC=A1ping=E7=9A=84=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/net/http/WebSocket.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 */