好的,这是我的问题:
我正在构建一个用于学习的netty 5服务器,但我遇到了这个问题,这是绑定问题之后:
所以当我在netty 5中绑定一个端口时,我会这样做:
bind(port).channel().closeFuture().sync();
现在该行之后的代码将无法执行,代码如下:
System.out.println("Server bound!");
如何让它在绑定后执行该代码?
答案 0 :(得分:3)
sync()
对未来对象的调用是阻塞调用,这意味着它将等待套接字终止。如果你想在绑定后运行一些代码,那么你需要做类似的事情:
ChannelFuture future = bind(port).channel().closeFuture();
System.out.println("Bound to port!");
future.sync(); // this will block until the port is shut down