public class Response{
public int packetLength;
public int cmd;
public int seqId;
public FileRegion fileRegion; //file content
public String filename;
public int begin;
public int end;
public String otherExtra;
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e){
if(e.getMessage() instanceof Request){
Request request = Request(e.getMessage());
Channel ch = e.getChannel();
Response response = new Response();
response.cmd = 111;
response.seqId = 111;
response.begin = 0;
response.end = 256;
response.fileRegion = new DefaultFileRegion(GetFile().getChannel(),response.begin, response.end);
response.filename = "test";
response.otherExtra = "service"
ch.write(response);
}
}
}
Мне нужно использовать нулевую копию (уровень ОС) для отправки данных в поле сетевого пакета. netty поддерживает FileRegion и ChannelBuffer в этих двух типах передачи данных. Но теперь я хочу, чтобы эти два типа данных вместе образовывали пакет.
Как решить Или как написать вышеприведенный код функции кодировщика?