can netty suport http (tcp short connection) и Google protobuf

вот мои инструменты, правильно?

public ChannelPipeline getPipeline() throws Exception 
{
    ChannelPipeline p = pipeline();
    pipeline.addLast("decoder", new HttpRequestDecoder());
    p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
    p.addLast("protobufDecoder", new ProtobufDecoder(LocalTimeProtocol.Locations.getDefaultInstance()));
    pipeline.addLast("encoder", new HttpResponseEncoder());
    p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
    p.addLast("protobufEncoder", new ProtobufEncoder());
    p.addLast("handler", new LocalTimeServerHandler());
    return p;
}

1 ответ

  1. Это не сработает. Необходимо написать обработчик, который получает содержимое HTTP-запроса и преобразует содержимое запроса (ChannelBuffer) в сообщение protobuf. Аналогичная работа должна быть проделана и в нижнем течении.