gpt4 book ai didi

java - 有没有办法在套接字 channel 上注销选择器

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:47 27 4
gpt4 key购买 nike

这是一个非常直截了当的问题,但我发现需要注销一个忽略我的 java 套接字 channel 的选择器。

SocketChannel client = myServer.accept(); //forks off another client socket
client.configureBlocking(false);//this channel takes in multiple request
client.register(mySelector, SelectionKey.OP_READ | SelectionKey.OP_WRITE);//changed from r to rw

稍后我可以在程序中调用类似的东西

client.deregister(mySelector);

并且选择器将不再捕获该套接字 channel 的数据键。考虑到我的服务器/客户端设计,这会让我的生活更轻松。

最佳答案

在选择键上调用cancel():

SelectionKey key = client.register(mySelector,
SelectionKey.OP_READ | SelectionKey.OP_WRITE);
...
key.cancel();

...
SelectionKey key = client.keyFor(mySelector);
key.cancel();

关于java - 有没有办法在套接字 channel 上注销选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867133/

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