关于finishConnect()的疑问
来源:7-10 NIO模型多人聊天室演示

ice_wolf
2019-11-23
老师我看到finishConnect()
这个函数的注释中有这样一句话:
If this channel is in non-blocking mode then this method will return false if the connection process is not yet complete.
那是不是说即使我们调用了这个函数,由于是非阻塞式调用,那么也不能保证当这个函数返回时连接已经建立了呢?如果是这样的话那么调用这个函数的意义在哪里呢?
写回答
1回答
-
Stannum
2019-12-29
同学好~正如文档中解释的那样,finishConnect()函数可以用来完结创建连接的请求过程。在我们的实战例子里,由于服务器端的实现并不复杂,实际情境中的负载也不高,所以我们在这里没有做额外的处理。不过,在架构复杂度更高和负载更大的情境中,正如你所说,我们可以在代码中进一步检查finishConnect()返回的值是否为true,来决定是否要继续等待连接的创建过程完结,还是根据具体需求做出连接超时的处理。
10
相似问题