Skip to content

Commit 068ae60

Browse files
committed
修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
1 parent 2299d9a commit 068ae60

File tree

1 file changed

+21
-4
lines changed
  • solon-projects/solon-server/solon-server-vertx/src/main/java/org/noear/solon/server/vertx/websocket

1 file changed

+21
-4
lines changed

solon-projects/solon-server/solon-server-vertx/src/main/java/org/noear/solon/server/vertx/websocket/VxWebSocketImpl.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import io.vertx.core.buffer.Buffer;
1919
import io.vertx.core.http.ServerWebSocket;
20+
import io.vertx.core.net.SocketAddress;
2021
import org.noear.solon.Utils;
2122
import org.noear.solon.server.util.DecodeUtils;
2223
import org.noear.solon.core.util.RunUtil;
@@ -54,6 +55,10 @@ public String buildUri(ServerWebSocket req) {
5455
}
5556
}
5657

58+
private static InetSocketAddress toInetSocketAddress(SocketAddress socketAddress) {
59+
return new InetSocketAddress(socketAddress.hostAddress(), socketAddress.port());
60+
}
61+
5762
@Override
5863
public boolean isValid() {
5964
return isClosed() == false;
@@ -64,14 +69,26 @@ public boolean isSecure() {
6469
return real.isSsl();
6570
}
6671

72+
private InetSocketAddress remoteAddress;
73+
6774
@Override
68-
public InetSocketAddress remoteAddress() throws IOException {
69-
return (InetSocketAddress) real.remoteAddress();
75+
public InetSocketAddress remoteAddress() {
76+
if (remoteAddress == null) {
77+
remoteAddress = toInetSocketAddress(real.remoteAddress());
78+
}
79+
80+
return remoteAddress;
7081
}
7182

83+
private InetSocketAddress localAddress;
84+
7285
@Override
73-
public InetSocketAddress localAddress() throws IOException {
74-
return (InetSocketAddress) real.localAddress();
86+
public InetSocketAddress localAddress() {
87+
if (localAddress == null) {
88+
localAddress = toInetSocketAddress(real.localAddress());
89+
}
90+
91+
return localAddress;
7592
}
7693

7794
@Override

0 commit comments

Comments
 (0)