我正在尝试从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特定的)。
感谢, 迪安
答案 0 :(得分:0)
没关系,愚蠢的错误,G没有正确地出来但是作为空间出现了。