gpt4 book ai didi

java - 当我使用 nio 时,serverSocket.accept() 抛出 IllegalBlockingModeException

转载 作者:行者123 更新时间:2023-11-29 04:04:57 31 4
gpt4 key购买 nike

当我这样写代码时:

ServerSocketChannel ssc = ServerSocketChannel.open();
InetSocketAddress sa = new InetSocketAddress("localhost",8888);
ssc.socket().bind(sa);
ssc.configureBlocking(false);
ssc.socket().accept();

ServerSocket.accept() 方法抛出 java.nio.channels.IllegalBlockingModeException。为什么我不能调用 accept(),即使我将阻塞设置为 false

最佳答案

问题是您正在调用 ssc.socket().accept(),而不是 ssc.accept()。如果您将最后一行更改为 ssc.accept(),那么它将按预期工作,如果有人在等待则返回 SocketChannel,否则返回 null。

关于java - 当我使用 nio 时,serverSocket.accept() 抛出 IllegalBlockingModeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/328925/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com