自己写一个NIO框架