2017-08-03 3 views
0

Ich versuche, un-Datei von einem netSocketClient in vetrx 3.4.2 zu erhalten, dies ist mein Code:Vertx 3.4.2 eine Datei mit netSocket erhalten

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(); 

aber ich erhalte einen decoped Puffer.

meine Frage ist, wie kann ich den Endpuffer der Datei in einem einzigen Puffer bekommen?

kann mir bitte jemand helfen?

Antwort

0

Ich versuche, dies und es funktioniert:

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); 
    } 
});