是否有一个非常准系统的 Netty 处理程序的示例,它只是获取在线路上发送的任何数据并将其写入文件?
我在想一些类似的事情:
public class SimpleHandler extends SimpleChannelUpstreamHandler {
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
HttpRequest request = (HttpRequest) e.getMessage();
// get data from request and write to a file
}
有什么想法吗?感谢您的任何想法
最佳答案
您也可以只使用此方法将 ChannelBuffer 的内容传输到 OutputStream:
所以像这样:
public class FileWriterHandler extends SimpleChannelHandler {
private final String filename;
public FileWriterHandler(String filename) {
this.filename = filename;
}
@Override
public void messageReceived(ChannelHandlerContext context, MessageEvent event) throws Exception{
ChannelBuffer buffer = (ChannelBuffer)event.getMessage();
FileOutputStream out = null;
try {
out = new FileOutputStream(filename, true)
buffer.readBytes(out, buffer.readableBytes());
} finally {
if (out != null) out.close();
}
}
}
关于java - 简单的 Netty 处理程序,逐字节遍历消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707980/