Skip to content

Commit 538acfd

Browse files
committed
feat: VertxTCPReverseProxy日志调整
1 parent 8800cd8 commit 538acfd

File tree

3 files changed

+58
-4
lines changed

3 files changed

+58
-4
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//package top.meethigher;
2+
//
3+
//import io.vertx.core.http.HttpClient;
4+
//import io.vertx.core.http.HttpServer;
5+
//import org.slf4j.Logger;
6+
//import org.slf4j.LoggerFactory;
7+
//
8+
//import java.util.concurrent.ThreadLocalRandom;
9+
//
10+
//public class VertxHTTPReverseProxy {
11+
//
12+
// private static final Logger log = LoggerFactory.getLogger(VertxHTTPReverseProxy.class);
13+
//
14+
// private static final char[] ID_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
15+
//
16+
// private String sourceHost = "0.0.0.0";
17+
//
18+
// private int sourcePort = 999;
19+
//
20+
// private final HttpServer server;
21+
//
22+
// private final HttpClient httpClient;
23+
//
24+
// private final HttpClient httpsClient;
25+
//
26+
// private final String targetHost;
27+
//
28+
// private final int targetPort;
29+
//
30+
// private final String name;
31+
//
32+
// private static String generateName() {
33+
// final String prefix = "VertxHTTPReverseProxy-";
34+
// try {
35+
// // 池号对于虚拟机来说是全局的,以避免在类加载器范围的环境中池号重叠
36+
// synchronized (System.getProperties()) {
37+
// final String next = String.valueOf(Integer.getInteger("top.meethigher.VertxHTTPReverseProxy.name", 0) + 1);
38+
// System.setProperty("top.meethigher.VertxHTTPReverseProxy.name", next);
39+
// return prefix + next;
40+
// }
41+
// } catch (Exception e) {
42+
// final ThreadLocalRandom random = ThreadLocalRandom.current();
43+
// final StringBuilder sb = new StringBuilder(prefix);
44+
// for (int i = 0; i < 4; i++) {
45+
// sb.append(ID_CHARACTERS[random.nextInt(62)]);
46+
// }
47+
// return sb.toString();
48+
// }
49+
// }
50+
//}

src/main/java/top/meethigher/VertxTCPReverseProxy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,14 @@ public void start() {
8787
sourceSocket.pause();
8888
netClient.connect(targetPort, targetHost)
8989
.onSuccess(targetSocket -> {
90-
log.info("{} connected, proxy to {}", sourceSocket.remoteAddress().toString(), targetSocket.remoteAddress().toString());
90+
log.info("connected {} <--> {}", sourceSocket.remoteAddress().toString(), targetSocket.remoteAddress().toString());
9191
targetSocket.pause();
9292
sourceSocket.pipeTo(targetSocket);
93-
targetSocket.closeHandler(v -> sourceSocket.close()).pipeTo(sourceSocket);
93+
targetSocket.closeHandler(v -> {
94+
sourceSocket.close().onSuccess(vv -> {
95+
log.info("closed {} <--> {}", sourceSocket.remoteAddress().toString(), targetSocket.remoteAddress().toString());
96+
});
97+
}).pipeTo(sourceSocket);
9498
sourceSocket.resume();
9599
targetSocket.resume();
96100
})

src/test/java/top/meethigher/VertxTCPReverseProxyTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ public class VertxTCPReverseProxyTest {
1010

1111
@Test
1212
public void testVertxTCPReverseProxy() throws Exception {
13-
VertxTCPReverseProxy proxy = VertxTCPReverseProxy.create(Vertx.vertx(), "10.0.0.9", 5432);
13+
VertxTCPReverseProxy proxy = VertxTCPReverseProxy.create(Vertx.vertx(), "10.0.0.1", 4321);
1414
proxy.port(22).start();
15-
TimeUnit.SECONDS.sleep(10);
15+
TimeUnit.MINUTES.sleep(10);
1616
proxy.stop();
1717
}
1818

0 commit comments

Comments
 (0)