Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的非阻塞IO_Android_Select_P2p - Fatal编程技术网

Android的非阻塞IO

Android的非阻塞IO,android,select,p2p,Android,Select,P2p,我目前正在尝试评估一个项目是否可以在Android上实现。我看到的一个主要问题是,由于它是一个P2P客户端,所以在运行时我们必须保持相当数量的连接打开。现在连接不会传输大量数据,它更像是一个消息传递系统,因此如果我们时不时地读取一条64字节的消息,那么每个连接都有一个线程会产生无用的开销 所以我想知道Linux上是否支持select()或poll()等非阻塞IO 有什么建议吗?查看java.nio套接字、选择器和频道。一些链接: 或者,也许我没有把你的问题读对。当然。一旦您的应用程序声明使用

我目前正在尝试评估一个项目是否可以在Android上实现。我看到的一个主要问题是,由于它是一个P2P客户端,所以在运行时我们必须保持相当数量的连接打开。现在连接不会传输大量数据,它更像是一个消息传递系统,因此如果我们时不时地读取一条64字节的消息,那么每个连接都有一个线程会产生无用的开销

所以我想知道Linux上是否支持select()或poll()等非阻塞IO


有什么建议吗?

查看java.nio套接字、选择器和频道。一些链接:


或者,也许我没有把你的问题读对。

当然。一旦您的应用程序声明使用internet权限,您就可以使用NDK在C中完成非root用户通常可以使用的所有常规linux网络操作,并且任何一个都可以从java中完成,而有人(如果没有人击败您的话,可能是您)已经费心编写支持

好吧,有一个例外:你的移动服务提供商可能不允许接入,大多数wifi路由器也不允许,除非你专门将它们设置为。但这些都是基础设施问题,而不是安卓本身的问题


您可能还需要结合一些活动来提供前台UI和服务,以便在后台继续实际传输,只需显示一个状态栏图标。

这看起来非常适合我。非常感谢:-d第一个链接实际上不包括非阻塞I/O。但是,到nio包的链接可能有用。