Android的非阻塞IO
我目前正在尝试评估一个项目是否可以在Android上实现。我看到的一个主要问题是,由于它是一个P2P客户端,所以在运行时我们必须保持相当数量的连接打开。现在连接不会传输大量数据,它更像是一个消息传递系统,因此如果我们时不时地读取一条64字节的消息,那么每个连接都有一个线程会产生无用的开销 所以我想知道Linux上是否支持select()或poll()等非阻塞IOAndroid的非阻塞IO,android,select,p2p,Android,Select,P2p,我目前正在尝试评估一个项目是否可以在Android上实现。我看到的一个主要问题是,由于它是一个P2P客户端,所以在运行时我们必须保持相当数量的连接打开。现在连接不会传输大量数据,它更像是一个消息传递系统,因此如果我们时不时地读取一条64字节的消息,那么每个连接都有一个线程会产生无用的开销 所以我想知道Linux上是否支持select()或poll()等非阻塞IO 有什么建议吗?查看java.nio套接字、选择器和频道。一些链接: 或者,也许我没有把你的问题读对。当然。一旦您的应用程序声明使用
有什么建议吗?查看java.nio套接字、选择器和频道。一些链接:
或者,也许我没有把你的问题读对。当然。一旦您的应用程序声明使用internet权限,您就可以使用NDK在C中完成非root用户通常可以使用的所有常规linux网络操作,并且任何一个都可以从java中完成,而有人(如果没有人击败您的话,可能是您)已经费心编写支持 好吧,有一个例外:你的移动服务提供商可能不允许接入,大多数wifi路由器也不允许,除非你专门将它们设置为。但这些都是基础设施问题,而不是安卓本身的问题
您可能还需要结合一些活动来提供前台UI和服务,以便在后台继续实际传输,只需显示一个状态栏图标。这看起来非常适合我。非常感谢:-d第一个链接实际上不包括非阻塞I/O。但是,到nio包的链接可能有用。