用socketchannel和socket有什么区别
答案:2 悬赏:30 手机版
解决时间 2021-02-12 07:58
- 提问者网友:星軌
- 2021-02-11 09:23
用socketchannel和socket有什么区别
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-02-11 09:35
质都是一样的
SocketChannel属于nio,支持异步非阻塞连接.当然Socket也可以自己来实现非阻塞连接.
一般来说使用SocketChannel会有更好的性能(Socket实际应该比SocketChannel更高效,不过一般使用到最后,由于使用者设计等原因,效率反而比直接使用SocketChannel低)
SocketChannel属于nio,支持异步非阻塞连接.当然Socket也可以自己来实现非阻塞连接.
一般来说使用SocketChannel会有更好的性能(Socket实际应该比SocketChannel更高效,不过一般使用到最后,由于使用者设计等原因,效率反而比直接使用SocketChannel低)
全部回答
- 1楼网友:天凉才是好个秋
- 2021-02-11 10:41
socketchannel.configureblocking(false)
在该socket上的读写都不阻塞,也就是读写操作立即返回,无论有没有数据。这个设置对于posix中的o_nonblock标志。
aio(asynchronous io)概念上比nio更一步,它一般包含了non-blocking的意思,另外还能让操作并发(concurrent)的执行。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯