Vertx 3.4.2 получает файл с помощью netSocket

я пытаюсь получить файл un от netSocketClient в vetrx 3.4.2, это мой код:

NetServerOptions options = new NetServerOptions().setPort(10000);
NetServer netserver = vertx.createNetServer(options);
netserver.connectHandler(sock -> {

    System.out.println("Incoming connection!");
    sock.handler(buffer-> {
       String dd = buffer.getString(0,buffer.length());
       System.out.println("new Buffer: "+dd);
       sock.write("From serveur: "+buffer.getString(0, buffer.length()));
    });

    sock.closeHandler(v -> {
       System.out.println("The socket has been closed");
    });
}).listen();

но я получаю декопированный буфер.

мой вопрос в том, как я могу получить конечный буфер файла в одном буфере?

Может кто-то мне помочь, пожалуйста?


person Mhammad Sellam    schedule 03.08.2017    source источник


Ответы (1)


Я пробую это, и это работает:

StringBuffer buff = new StringBuffer();
sock.handler(buffer-> {
    String dd = buffer.getString(0,buffer.length());
    if(dd.contains("EOT")){
      dd = dd.replace("EOT", "");
      buff.append(dd);
    }else{
      buff.append(dd);
    }
});
person Mhammad Sellam    schedule 04.08.2017