netty开发http解析问题

时间:2013-01-04 17:06:09

标签: netty

我正在尝试从netty的代码中创建一个原始的异步http解析器,删除所有的netty依赖项,而我却没有得到这段代码

private void skipControlCharacters(ByteBuffer buffer) {
    for (;;) {
        char c = (char) ByteBufferUtil.readUnsignedByte(buffer);
        if (!Character.isISOControl(c) &&
            !Character.isWhitespace(c)) {
            buffer.position(buffer.position()-1);
            break;
        }
    }
}

我有一个以

为基础的测试
 GET / HTT

然后输入

 P/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n

当然第一个数据包只有" GET / HTT"陷入循环,直到我得到一个BufferUnderflowException。在异步解析中,我们可能并不总是得到完整的数据包(这就是为什么http有\ r \ n \ r \ n \ n \ n因此我们可以告诉我们何时有完整的http请求数据包)。或者这个解析只有在我做一些预解析时才有效吗???这样我必须自己保持缓存数据,直到我收到\ r \ n \ r \ n(我不喜欢其他图层,但http解析器知道http解析但知道\ r \ n \ r \ n将是http特定的)。

感谢, 迪安

1 个答案:

答案 0 :(得分:0)

没关系,愚蠢的错误,G没有正确地出来但是作为空间出现了。