本文整理汇总了Java中org.apache.tomcat.util.buf.Utf8Decoder类的典型用法代码示例。如果您正苦于以下问题:Java Utf8Decoder类的具体用法?Java Utf8Decoder怎么用?Java Utf8Decoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Utf8Decoder类属于org.apache.tomcat.util.buf包,在下文中一共展示了Utf8Decoder类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onData
import org.apache.tomcat.util.buf.Utf8Decoder; //导入依赖的package包/类
@Override
public final SocketState onData() throws IOException {
// Must be start the start of a message (which may consist of multiple
// frames)
WsInputStream wsIs = new WsInputStream(processor, getWsOutbound());
try {
WsFrame frame = wsIs.nextFrame(false);
while (frame != null) {
// TODO User defined extensions may define values for rsv
if (frame.getRsv() > 0) {
closeOutboundConnection(
Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
byte opCode = frame.getOpCode();
if (opCode == Constants.OPCODE_BINARY) {
doOnBinaryData(wsIs);
} else if (opCode == Constants.OPCODE_TEXT) {
InputStreamReader r =
new InputStreamReader(wsIs, new Utf8Decoder());
doOnTextData(r);
} else if (opCode == Constants.OPCODE_CLOSE){
closeOutboundConnection(frame);
return SocketState.CLOSED;
} else if (opCode == Constants.OPCODE_PING) {
getWsOutbound().pong(frame.getPayLoad());
} else if (opCode == Constants.OPCODE_PONG) {
doOnPong(frame.getPayLoad());
} else {
// Unknown OpCode
closeOutboundConnection(
Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
frame = wsIs.nextFrame(false);
}
} catch (MalformedInputException mie) {
// Invalid UTF-8
closeOutboundConnection(Constants.STATUS_BAD_DATA, null);
return SocketState.CLOSED;
} catch (UnmappableCharacterException uce) {
// Invalid UTF-8
closeOutboundConnection(Constants.STATUS_BAD_DATA, null);
return SocketState.CLOSED;
} catch (IOException ioe) {
// Given something must have gone to reach this point, this
// might not work but try it anyway.
closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
return SocketState.UPGRADED;
}
示例2: onData
import org.apache.tomcat.util.buf.Utf8Decoder; //导入依赖的package包/类
@Override
public final SocketState onData() throws IOException {
// Must be start the start of a message (which may consist of multiple
// frames)
WsInputStream wsIs = new WsInputStream(processor, getWsOutbound());
try {
WsFrame frame = wsIs.nextFrame(false);
while (frame != null) {
// TODO User defined extensions may define values for rsv
if (frame.getRsv() > 0) {
closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
byte opCode = frame.getOpCode();
if (opCode == Constants.OPCODE_BINARY) {
doOnBinaryData(wsIs);
} else if (opCode == Constants.OPCODE_TEXT) {
InputStreamReader r = new InputStreamReader(wsIs, new Utf8Decoder());
doOnTextData(r);
} else if (opCode == Constants.OPCODE_CLOSE) {
closeOutboundConnection(frame);
return SocketState.CLOSED;
} else if (opCode == Constants.OPCODE_PING) {
getWsOutbound().pong(frame.getPayLoad());
} else if (opCode == Constants.OPCODE_PONG) {
doOnPong(frame.getPayLoad());
} else {
// Unknown OpCode
closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
frame = wsIs.nextFrame(false);
}
} catch (MalformedInputException mie) {
// Invalid UTF-8
closeOutboundConnection(Constants.STATUS_BAD_DATA, null);
return SocketState.CLOSED;
} catch (UnmappableCharacterException uce) {
// Invalid UTF-8
closeOutboundConnection(Constants.STATUS_BAD_DATA, null);
return SocketState.CLOSED;
} catch (IOException ioe) {
// Given something must have gone to reach this point, this
// might not work but try it anyway.
closeOutboundConnection(Constants.STATUS_PROTOCOL_ERROR, null);
return SocketState.CLOSED;
}
return SocketState.UPGRADED;
}