如何修改来测试关闭通道的方法destory public void destroy(){ System.out.println("关闭成功"); if (channel != null) { channel.close().syncUninterruptibly(); } }
时间: 2024-04-16 13:29:30 浏览: 97
要测试关闭通道的方法,在你的 `NettyTcpServer` 类中添加一个 `destroy()` 方法如下所示:
```java
public class NettyTcpServer {
// 其他代码...
/**
* 关闭服务器通道
*/
public void destroy() {
System.out.println("关闭成功");
if (serverChannel != null) {
serverChannel.close().syncUninterruptibly();
}
}
}
```
然后,在 `Netty03Application` 类的 `run()` 方法中调用 `destroy()` 方法来关闭服务器通道:
```java
@Override
public void run(String... args) throws Exception {
ChannelFuture start = nettyTcpServer.start();
nettyTcpClient.connect();
for (int i = 0; i < 10; i++) {
nettyTcpClient.sendMessage("hello world " + i);
}
start.channel().closeFuture().syncUninterruptibly();
nettyTcpServer.destroy(); // 关闭服务器通道
}
```
这样,在服务器通道关闭之后,`nettyTcpServer.destroy()` 方法会被调用,从而关闭服务器通道。
阅读全文