我想在Vert.x中实现概念证明TCP透明代理。

需求

一个在端口X上侦听的顶点,当有人连接并发送数据时,它将打开与预配置TCP服务器的客户端连接。
从这一刻开始,直到任何一个对等点关闭连接,双向通道都将保留,数据将从客户端到服务器,反之亦然。

这是我的尝试,不起作用。

 vertx.createNetServer().connectHandler(new Handler<NetSocket>() {
        public void handle(final NetSocket socket) {
            vertx.createNetClient().connect(6367, "localhost", new Handler<NetSocket>() {

                @Override
                public void handle(NetSocket cliSocket) {
                    Pump.createPump(socket, cliSocket);
                    Pump.createPump(cliSocket, socket);

                }
            });
    }
    }).listen(3000);
}

至少这是我理解Pump类的含义的方式:

http://vertx.io/core_manual_java.html#pump

我的错误在哪里?

最佳答案

我只是想念泵。然后它起作用了。

Pump.createPump(socket, cliSocket).start();
Pump.createPump(cliSocket, socket).start();

09-27 14:29