可惜你没附上相关源码不能调试。
猜想应该是client的select中出现的延迟,导致后来相应的事件的处理慢了。如果是有GUI的,窗体刷新本来也不是效率很高的。

解决方案 »

  1.   

    问题我已经找到了,通常IO一次就是一个消息传递,在NIO里,它不管,只要有字符流进来它这开始分发,且其中它也不管哪里是一个消息的结束,哪里是开始。因此要自己去分开它,出于通常的IO经验,我也用\n 来作分隔,却忘了NIO是一个连续的不间断过程,读取进来的数据指不定是几个消息,而我只处理了第一个,其后的没有处理,而是等下一次有数据进来时,再处理下一个,这是个低级但很容易犯的错误。 这也是IO与NIO的不同特点造成的