压缩netty发送的数据

时间:2015-07-10 11:06:09

标签: java json gson netty

我正在使用Netty来实现客户端/服务器应用程序,我也使用Gson以json格式从/向客户端发送数据并将其从/转换为Java POJO。 问题是如果数据超过一定大小,则消息将被截断,并且不会在程序中使用。所以我试图找到一种压缩格式(比Gson库提供的json更好)或者可能是一种压缩json字符串并避免截断消息的方法。 任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:1)

如果您使用的协议是TCP / IP,则无法保证,您发送的消息将由一部分组成。您应该在邮件中添加一些日期,这将允许客户端确定它是否收到完整的邮件(例如,您可以将邮件长度放在邮件的开头或邮件末尾的某个分隔符上。)

在客户端,您应该检查是否有整个消息,如果没有,您应该等待消息的其余部分。如果您在客户端使用netty,则应将帧解码器放在通道管道的开头(例如,如果是分隔符,则为DelimiterBasedFrameDecoder,如果是长度字段,则为LengthFieldBasedFrameDecoder)。