From 79ef805a42879a9ce50d0eb266392f411b9dfffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=B0=E5=B9=B3=E7=BA=BF?= <22250530@qq.com> Date: Thu, 10 Sep 2015 09:13:30 +0800 Subject: [PATCH] --- .../wentch/redkale/net/http/WebSocketRunner.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/com/wentch/redkale/net/http/WebSocketRunner.java b/src/com/wentch/redkale/net/http/WebSocketRunner.java index 7d30f4093..2e8c02ecc 100644 --- a/src/com/wentch/redkale/net/http/WebSocketRunner.java +++ b/src/com/wentch/redkale/net/http/WebSocketRunner.java @@ -119,14 +119,18 @@ public class WebSocketRunner implements Runnable { channel.read(readBuffer, null, this); } webSocket.group.setRecentWebSocket(webSocket); - if (packet.type == PacketType.TEXT) { - webSocket.onMessage(packet.getPayload()); - } else if (packet.type == PacketType.BINARY) { - webSocket.onMessage(packet.getBytes()); + try { + if (packet.type == PacketType.TEXT) { + webSocket.onMessage(packet.getPayload()); + } else if (packet.type == PacketType.BINARY) { + webSocket.onMessage(packet.getBytes()); + } + } catch (Exception e) { + context.getLogger().log(Level.INFO, "WebSocket onMessage error (" + packet + ")", e); } - } catch (Exception e) { + } catch (Throwable t) { closeRunner(); - if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort on read WebSocketPacket, force to close channel", e); + if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort on read WebSocketPacket, force to close channel", t); } }