如何在Groovy中通过ServerSocket对分块数据使用filterLine()
我正在尝试使用“ServerSocket”从一个客户端接收HTTP消息,该客户端将这些消息作为分块发布。我只想捕获发布的文本内容(纯文本)。欢迎就如何更好地做到这一点提供任何意见 这是我现有的非常不优雅的解决方案。在处理ServerSocket时,必须手动处理头和块屏障,这就是我想到的。我在阅读器上查看了filterLine()方法,可能这是解决方案的一部分,我不确定。不知道如何优雅/可靠地识别分块障碍如何在Groovy中通过ServerSocket对分块数据使用filterLine(),groovy,jetty,bufferedreader,serversocket,Groovy,Jetty,Bufferedreader,Serversocket,我正在尝试使用“ServerSocket”从一个客户端接收HTTP消息,该客户端将这些消息作为分块发布。我只想捕获发布的文本内容(纯文本)。欢迎就如何更好地做到这一点提供任何意见 这是我现有的非常不优雅的解决方案。在处理ServerSocket时,必须手动处理头和块屏障,这就是我想到的。我在阅读器上查看了filterLine()方法,可能这是解决方案的一部分,我不确定。不知道如何优雅/可靠地识别分块障碍 socket.withStreams { input, output -> B
socket.withStreams { input, output ->
BufferedReader reader = new BufferedReader(new InputStreamReader(input))
while (currentLineCount < processor.newLineCount) {
line = reader.readLine()
if (line && line.size() > 3) {
processor.processFormats(line)
}
currentLineCount++
}
}
socket.withStreams{输入,输出->
BufferedReader reader=新的BufferedReader(新的InputStreamReader(输入))
while(currentLineCount3){
processor.processFormats(行)
}
当前行数++
}
}
注意事项:
我会在Jetty中重新制作整个HTTP服务器和处理程序,但我从未使用过Jetty,也找不到任何适合我的情况的好例子。任何关于这方面的代码示例的建议都将非常好 那个版本的Jetty非常古老,现在是EOL(生命的终结)。为什么不使用Jetty和/或servlet来处理
doPost(请求、响应)
信息?它们位于执行我的嵌入式代码的托管第三方系统的类路径上。他们只是碰巧是在那里的版本。这不是我能控制的。另外,我刚刚发现servlet-api-3.0.0和netty-all-4.0.9.Final.jar也在类路径上,因此可以使用它们。