我的Android(2.3及以上版本)应用程序需要与100个(最多)同时运行TCP服务器的嵌入式设备进行TCP通信。
智能手机应用程序应足够强大,可同时处理100多个连接。它需要经常设置/获取信息。因此,对于网络模块,我们分析了以下选项:
ThreadPoolExecutor
)并为每个设备建立连接。
while(mMainSelector.select(SELECTOR_TIMEOUT){ ....获取所选键的东西.... SocketChannel socketChannel = channel.accept()
从客户端开始连接到上述代码到达最后一行(channel.accept())的时间大约需要1-3秒。
另外,为了确认我的测试,我推荐了一些博客,支持这一点。
epoll
:比选择器更好,但我想它在Android中不易提供。 有人在Android中使用过epoll
吗?我们是否有针对Android的libev build? 还有其他替代方案最适合处理100个同步连接而不影响速度吗?