Closed linkerlin closed 8 years ago
使用netty是为了使用它的ByteBuf,否则也不太好设计缓存; 的确单线程也能管理所有的kcp对象,不过我打算这样:udp数据到来后,先缓存到相应的kcp对象,等待kcp线程循环到来的时候再检查kcp状态并更新; 设计多个kcp线程目的是为了分担kcp对象集合的更新的压力,每个线程负责一部分kcp的更新; 发送这个动作,其实也是同样先缓存到kcp对象,等待kcp线程到来的时候才发送出去。
有没有参考asio_kcp? 我最近用quasar写了个ss的服务器,感觉不错。推荐下。 java的协程组件。
asio_kcp没听说;协程好像也不适合这里。
我觉得,因为kcp是纯UDP的。 完全可以用java原生的API,单线程就可以实现。最多把发包和收包各一个线程。一共三个线程就够了。 不需要启动那么多的线程。