JAVA 非阻塞通信(NIO)相比普通socket通信,非阻塞表现在哪里?本质区别是什么?

编程入门 行业动态 更新时间:2024-10-28 06:23:55
JAVA 非阻塞通信(NIO)相比普通socket通信,非阻塞表现在哪里?本质区别是什么? socketChannel 一般伴随着: 1 selector 2 socketChannel.configureBlocking(false); ------当参数为true时 是否与普通socket通信一样? 3 socketChannel.write(buffer); 4 socketChannel.read(buffer); socketChannel建立连接后如果断开了 如何重连? if (canel.isConnectionPending()) {canel.finishConnect(); } ------------正常情况下这里执行完后是不是就socketChannel.isConnected()=true? 之前客户端服务器用的是socket通信 现在想把客户端改成socketChannel的 怎么改 需要加selector么? socketChannel的客户端对接serversocket服务器 是否能够正常通信?

最满意答案

0,重连,重新再来过一次呗。 1,NIO 本身是提供非阻塞式的网络访问,使用 selector 来轮询事件,因此用 selector 才能改进性能,一个 selector 可以用在多个 socket 通信中而不像以前传统的一个线程一个 socket 流这么麻烦地管理它们。 2,客户端与服务端是互不影响的,完全不相关。我们完全不需要关心对方是C++ / VB 还是 Java ,只要双方使用的都是 TCP 协议就行了。 NIO 是在与操作系统的模块打交道,尽量提高性能,所有的真实过程其实都是在 JVM 的 native 代码与操作系统中处理了,对我们应用程序来说,使用什么方法并没有区别。

更多推荐

本文发布于:2023-08-05 21:10:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1437735.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:通信   本质   区别   JAVA   socket

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!