diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/ClientApplication.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/LazyProxyClientApplication.java similarity index 67% rename from lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/ClientApplication.java rename to lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/LazyProxyClientApplication.java index 1e0b90a..c058753 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/ClientApplication.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/LazyProxyClientApplication.java @@ -4,8 +4,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class ClientApplication { +public class LazyProxyClientApplication { public static void main(String[] args) { - SpringApplication.run(ClientApplication.class, args); + SpringApplication.run(LazyProxyClientApplication.class, args); } } diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/NettyProxyAutoConfiguration.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/NettyProxyAutoConfiguration.java index f04336c..d4523ea 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/NettyProxyAutoConfiguration.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/NettyProxyAutoConfiguration.java @@ -3,6 +3,7 @@ package com.lazy.netty.proxy.client.proxy; import com.lazy.netty.proxy.client.proxy.config.ClientProxyConfigurationProperties; import com.lazy.netty.proxy.client.proxy.netty.Constant; import com.lazy.netty.proxy.client.proxy.netty.ProxySocket; +import jakarta.annotation.PostConstruct; import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; @@ -18,9 +19,9 @@ public class NettyProxyAutoConfiguration { this.clientProxyConfigurationProperties = clientProxyConfigurationProperties; } - @Bean - public Thread xx() { - return new Thread(() -> { + @PostConstruct + public void xx() { + new Thread(() -> { Constant.serverIp = clientProxyConfigurationProperties.getServerIp(); Constant.serverPort = clientProxyConfigurationProperties.getServerPort(); Constant.realPort = serverProperties.getPort(); @@ -32,7 +33,7 @@ public class NettyProxyAutoConfiguration { e.printStackTrace(); } - }); + }).run(); } } diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/config/ClientProxyConfigurationProperties.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/config/ClientProxyConfigurationProperties.java index e0e798c..6603752 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/config/ClientProxyConfigurationProperties.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/config/ClientProxyConfigurationProperties.java @@ -1,13 +1,13 @@ package com.lazy.netty.proxy.client.proxy.config; +import com.lazy.netty.proxy.msg.constant.ProxyConfigConstant; import lombok.Data; -import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @Data @Configuration -@ConfigurationProperties(prefix = "spring.lazy.proxy") +@ConfigurationProperties(prefix = ProxyConfigConstant.PREFIX) public class ClientProxyConfigurationProperties { diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxyHandler.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxyHandler.java index f65766e..d21e2d5 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxyHandler.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxyHandler.java @@ -1,6 +1,7 @@ package com.lazy.netty.proxy.client.proxy.netty; -import com.luck.msg.MyMsg; + +import com.lazy.netty.proxy.msg.MyMsg; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxySocket.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxySocket.java index 15fd877..a19392f 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxySocket.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/ProxySocket.java @@ -1,6 +1,7 @@ package com.lazy.netty.proxy.client.proxy.netty; -import com.luck.msg.MyMsg; + +import com.lazy.netty.proxy.msg.MyMsg; import com.lazy.netty.proxy.msg.MyMsgDecoder; import com.lazy.netty.proxy.msg.MyMsgEncoder; import io.netty.bootstrap.Bootstrap; diff --git a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/RealHandler.java b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/RealHandler.java index 1572966..8fdeaea 100644 --- a/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/RealHandler.java +++ b/lazy-netty-proxy-client/src/main/java/com/lazy/netty/proxy/client/proxy/netty/RealHandler.java @@ -1,6 +1,7 @@ package com.lazy.netty.proxy.client.proxy.netty; -import com.luck.msg.MyMsg; + +import com.lazy.netty.proxy.msg.MyMsg; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; diff --git a/lazy-netty-proxy-common/src/main/java/com/lazy/netty/proxy/msg/constant/ProxyConfigConstant.java b/lazy-netty-proxy-common/src/main/java/com/lazy/netty/proxy/msg/constant/ProxyConfigConstant.java new file mode 100644 index 0000000..95c3ba2 --- /dev/null +++ b/lazy-netty-proxy-common/src/main/java/com/lazy/netty/proxy/msg/constant/ProxyConfigConstant.java @@ -0,0 +1,5 @@ +package com.lazy.netty.proxy.msg.constant; + +public class ProxyConfigConstant { + public static final String PREFIX ="spring.lazy.proxy"; +} diff --git a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ClientHandler.java b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ClientHandler.java index 76a3c2e..9939bc6 100644 --- a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ClientHandler.java +++ b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ClientHandler.java @@ -1,6 +1,7 @@ package com.lazy.netty.proxy.server; -import com.luck.msg.MyMsg; + +import com.lazy.netty.proxy.msg.MyMsg; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.*; diff --git a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ProxyServerApplication.java b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/LazyProxyServerApplication.java similarity index 67% rename from lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ProxyServerApplication.java rename to lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/LazyProxyServerApplication.java index 12d188b..4d1dd2a 100644 --- a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/ProxyServerApplication.java +++ b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/LazyProxyServerApplication.java @@ -4,8 +4,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class ProxyServerApplication { +public class LazyProxyServerApplication { public static void main(String[] args) { - SpringApplication.run(ProxyServerApplication.class,args); + SpringApplication.run(LazyProxyServerApplication.class,args); } } diff --git a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/VisitorHandler.java b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/VisitorHandler.java index 5886522..50331d1 100644 --- a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/VisitorHandler.java +++ b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/VisitorHandler.java @@ -1,6 +1,7 @@ package com.lazy.netty.proxy.server; -import com.luck.msg.MyMsg; + +import com.lazy.netty.proxy.msg.MyMsg; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; diff --git a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/config/ServerProxyConfigurationProperties.java b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/config/ServerProxyConfigurationProperties.java new file mode 100644 index 0000000..e77d160 --- /dev/null +++ b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/config/ServerProxyConfigurationProperties.java @@ -0,0 +1,24 @@ +package com.lazy.netty.proxy.server.config; + +import com.lazy.netty.proxy.msg.constant.ProxyConfigConstant; +import lombok.Data; +import org.springframework.boot.autoconfigure.web.ServerProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Data +@Configuration +@ConfigurationProperties(prefix = ProxyConfigConstant.PREFIX) +public class ServerProxyConfigurationProperties { + + /** + * 服务代理端口 通过该端口访问客户端服务端口 + *

+ * 是否可以将此端口与如下端口融合、通过请求路径进行转发 + * + * @see ServerProperties#getPort() + */ + private int visitorPort = 16002; + + +} diff --git a/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/netty/NettyServerProxyAutoConfiguration.java b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/netty/NettyServerProxyAutoConfiguration.java new file mode 100644 index 0000000..193684b --- /dev/null +++ b/lazy-netty-proxy-server/src/main/java/com/lazy/netty/proxy/server/netty/NettyServerProxyAutoConfiguration.java @@ -0,0 +1,46 @@ +package com.lazy.netty.proxy.server.netty; + +import com.lazy.netty.proxy.server.Constant; +import com.lazy.netty.proxy.server.ServerSocket; +import com.lazy.netty.proxy.server.VisitorSocket; +import com.lazy.netty.proxy.server.config.ServerProxyConfigurationProperties; +import jakarta.annotation.PostConstruct; +import org.springframework.boot.autoconfigure.web.ServerProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +@Component +public class NettyServerProxyAutoConfiguration { + + private final ServerProperties serverProperties; + private final ServerProxyConfigurationProperties serverProxyConfigurationProperties; + + public NettyServerProxyAutoConfiguration(ServerProperties serverProperties, ServerProxyConfigurationProperties serverProxyConfigurationProperties) { + this.serverProperties = serverProperties; + this.serverProxyConfigurationProperties = serverProxyConfigurationProperties; + } + + + @PostConstruct + public void xx() { + new Thread(() -> { + Constant.visitorPort = serverProxyConfigurationProperties.getVisitorPort(); + Constant.serverPort = serverProperties.getPort(); + + // 启动访客服务端,用于接收访客请求 + try { + VisitorSocket.startServer(); + } catch (Exception e) { + e.printStackTrace(); + } + // 启动代理服务端,用于接收客户端请求 + try { + ServerSocket.startServer(); + } catch (Exception e) { + e.printStackTrace(); + } + + }).run(); + } + +} diff --git a/lazy-netty-proxy-server/src/main/resources/application.yml b/lazy-netty-proxy-server/src/main/resources/application.yml index b374691..437ed4f 100644 --- a/lazy-netty-proxy-server/src/main/resources/application.yml +++ b/lazy-netty-proxy-server/src/main/resources/application.yml @@ -1,2 +1,6 @@ server: - port: 1003 \ No newline at end of file + port: 16001 + +spring: + lazy: + proxy: 16002 \ No newline at end of file