当前位置: 首页>>代码示例>>Java>>正文


Java Utf8Decoder类代码示例

本文整理汇总了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;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:57,代码来源:StreamInbound.java

示例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;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:54,代码来源:StreamInbound.java


注:本文中的org.apache.tomcat.util.buf.Utf8Decoder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。