Vert.x 中的简单 TCP 代理使用 Pump 类 (JAVA)



我想在 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();

最新更新