Browse Source

Exception handling & packet decoding bug fixed

master
Nikita 13 years ago
parent
commit
b39adf0c03
  1. 6
      src/main/java/com/corundumstudio/socketio/SocketIOEncoder.java
  2. 6
      src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java
  3. 1
      src/main/java/com/corundumstudio/socketio/parser/Decoder.java

6
src/main/java/com/corundumstudio/socketio/SocketIOEncoder.java

@ -196,7 +196,11 @@ public class SocketIOEncoder extends SimpleChannelDownstreamHandler implements M
WebSocketFrame res = new TextWebSocketFrame(message);
log.trace("Out message: {} sessionId: {}", new Object[] {
message.toString(CharsetUtil.UTF_8), webSocketPacketMessage.getSessionId()});
channel.write(res);
if (channel.isOpen()) {
channel.write(res);
} else {
log.trace("Channel was closed, for sessionId: {}", webSocketPacketMessage.getSessionId());
}
}
@Override

6
src/main/java/com/corundumstudio/socketio/handler/PacketHandler.java

@ -20,6 +20,7 @@ import java.util.Collections;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.channel.ChannelHandler.Sharable;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ExceptionEvent;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
import org.jboss.netty.util.CharsetUtil;
@ -76,4 +77,9 @@ public class PacketHandler extends SimpleChannelUpstreamHandler {
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
log.error("Exception occurs", e.getCause());
}
}

1
src/main/java/com/corundumstudio/socketio/parser/Decoder.java

@ -227,6 +227,7 @@ public class Decoder {
break;
}
buffer.readerIndex(buffer.readerIndex() + buffer.readableBytes());
return packet;
}

Loading…
Cancel
Save