java通过socket发送压缩数据
我必须用java制作一个日志服务器,其中一项任务是发送压缩的数据。现在我用纯文本逐行发送它,但我必须压缩它。 服务器处理“类似HTTP”的请求。例如,我可以通过发送“get xxx.log”来获取日志。这将嵌入到服务器的TCP连接、带有头和日志的服务器响应,并关闭连接。客户端逐行读取并分析每个日志条目。 我尝试了一些方法,但没有成功。 我的主要问题是,我不知道每条线的终点(在客户端大小上)。 知道吗
你可以在下面搜索框中键入要查询的问题!
我必须用java制作一个日志服务器,其中一项任务是发送压缩的数据。现在我用纯文本逐行发送它,但我必须压缩它。 服务器处理“类似HTTP”的请求。例如,我可以通过发送“get xxx.log”来获取日志。这将嵌入到服务器的TCP连接、带有头和日志的服务器响应,并关闭连接。客户端逐行读取并分析每个日志条目。 我尝试了一些方法,但没有成功。 我的主要问题是,我不知道每条线的终点(在客户端大小上)。 知道吗
# 1 楼答案
您可以看看HTTP范围标头。客户端可以请求一系列字节,而服务器将只返回这些字节。使用GZIP压缩
在请求部分日志之前,您可以从客户端调用一个操作,该操作将提供一个带有字节范围的索引
HTTP报头有很多开销,因此您可以考虑一次或多次发送100行。
最后,看看分块传输编码,它将允许您将数据流传输到客户端
# 2 楼答案
在服务器上使用一个GZIPOutputStream,在客户端使用一个GZIPInputStream,周围有一个InputStreamReader和一个BufferedReader。然后读台词
# 3 楼答案
最有意义的事情是这样的