Vertx 3.4.2使用netSocket接收文件

时间:2017-08-03 17:26:50

标签: java vert.x

我正在尝试从vetrx 3.4.2中的netSocketClient接收un文件,这是我的代码:

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

但是我收到了一个被修饰的缓冲区。

我的问题是如何在单个缓冲区中获取文件的结束缓冲区?

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我试试这个并且它正在工作:

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