【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

使用Netty.io将文件从服务器发送到客户端

放大字体  缩小字体 发布日期:2022-05-01 18:21:42    浏览次数:8
导读

  我可以看到两个部分:  1)您不应在自己的处理程序中创建新的处理程序,而应直接创建ChunkedFile并编写它:  public cla

  我可以看到两个部分:

  1)您不应在自己的处理程序中创建新的处理程序,而应直接创建ChunkedFile并编写它:

  public class FileRequestServerHandler extends SimpleChannelInboundHandler<FileRequestProtocol> { private File f; private Logger logger = Logger.getLogger(this.getClass()); @Override public void channelRead0(ChannelHandlerCo

  2)由于使用ChunkedInput(此处为ChunkedFile)编写,因此在处理程序之前必须在管道中具有ChunkedWriteHandler,因此Initializer看起来像:

  public class ServerInitializer extends ChannelInitializer<SocketChannel> { @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline p = ch.pipeline(); p.addLast(enprer, new ObjectEnprer()); p.addLast(deprer, new ObjectDeprer(ClassResolvers.cacheDisabled(null))); p.addLast(chunkedWriteHandler, new ChunkedWriteHandler());// added p.addLast(protocolhead, new ProtocolHeadServerHandler()); p.addLast(filerequestserverhandler, new FileRequestServerHandler()); // removed: p.addLast(chunkedfileserver, new ChunkedFileServerHandler()); }}

  的位置ChunkedWriteHandler可以更改,但始终在编写的自己的处理程序之前ChunkedFile。

  3)最后的注意事项:看一下并照顾好您的编码器/解码器(ObjectEnprer /
ObjectDeprer),因为我不确定100%是否可以与这样的从文件到文件的ByteBuf读/写协作。它可能起作用,或者不起作用…

 
关键词: 考试
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-3414304.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4