SelectionKey key = ssc.register(selector, SelectionKey.OP_ACCEPT);
printKeyInfo(key); while (true) { //不断的轮询
{//Selector通过select方法通知我们我们感兴趣的事件发生了。
nKeys = selector.select();
//如果有我们注册的事情发生了,它的传回值就会大于0
if (nKeys > 0)
{
//Selector传回一组SelectionKeys
//我们从这些key中的channel()方法中取得我们刚刚注册的channel。
Set selectedKeys = selector.selectedKeys();
Iterator i = selectedKeys.iterator();
while (i.hasNext()) {
key = (SelectionKey) i.next();
//一个key被处理完成后,就都被从就绪关键字(ready keys)列表中除去
i.remove();
System.out.println(key.isAcceptable());
if (key.isAcceptable())
{}
else
{}
客户端连上后,发现key.isAcceptable() 一直为假,这是为什么?
printKeyInfo(key); while (true) { //不断的轮询
{//Selector通过select方法通知我们我们感兴趣的事件发生了。
nKeys = selector.select();
//如果有我们注册的事情发生了,它的传回值就会大于0
if (nKeys > 0)
{
//Selector传回一组SelectionKeys
//我们从这些key中的channel()方法中取得我们刚刚注册的channel。
Set selectedKeys = selector.selectedKeys();
Iterator i = selectedKeys.iterator();
while (i.hasNext()) {
key = (SelectionKey) i.next();
//一个key被处理完成后,就都被从就绪关键字(ready keys)列表中除去
i.remove();
System.out.println(key.isAcceptable());
if (key.isAcceptable())
{}
else
{}
客户端连上后,发现key.isAcceptable() 一直为假,这是为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货