From 6ef49c9e519ffaaa3b1c403ba7f811d6c189ac76 Mon Sep 17 00:00:00 2001 From: Nekojimi Date: Fri, 3 Mar 2023 23:34:19 +0000 Subject: [PATCH] Fixed some silly mistakes with local address handling. --- src/main/java/moe/nekojimi/chords/Chords.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/moe/nekojimi/chords/Chords.java b/src/main/java/moe/nekojimi/chords/Chords.java index 57427c2..54bb4bb 100644 --- a/src/main/java/moe/nekojimi/chords/Chords.java +++ b/src/main/java/moe/nekojimi/chords/Chords.java @@ -108,12 +108,17 @@ public final class Chords extends ListenerAdapter if (settings.getLocalAddr() != null) { - final WebSocketFactory webSocketFactory = new WebSocketFactory(); + // make local binding socket factory final LocalBindSocketFactory localBindSocketFactory = new LocalBindSocketFactory(); + localBindSocketFactory.setLocalAddress(InetAddress.getByName(settings.getLocalAddr())); + + // install local socket factory for HTTP OkHttpClient.Builder httpBuilder = IOUtil.newHttpClientBuilder(); httpBuilder.socketFactory(localBindSocketFactory); + builder.setHttpClientBuilder(httpBuilder); - localBindSocketFactory.setLocalAddress(InetAddress.getByName(settings.getLocalAddr())); + // install local socket factory for websockets + final WebSocketFactory webSocketFactory = new WebSocketFactory(); webSocketFactory.setSocketFactory(localBindSocketFactory); builder.setWebsocketFactory(webSocketFactory); }