2010-11-27 112 views
3

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

所以我想知道在Linux上是否支持非阻塞IO,例如select()或poll()。

有什么建议吗?

回答

5
+0

对我来说这看起来很完美。非常感谢:-D – cdecker 2010-12-04 16:09:39

1

当然。一旦您的应用程序声明使用互联网许可,您可以使用NDK在C中使用通常可用于非root用户的所有常规Linux网络事物,并且可以使用Java中的任何人(可能是您如果没有人殴打您)不屑于写支持。

嗯,有一个例外:你的移动提供商可能不允许传入连接,除非你特别设置它们,否则大多数wifi路由器都不会。但这些都是基础设施问题,而不是android本身的问题。

您可能还需要想出一些活动的组合,以提供前台用户界面和一项服务,以在仅显示状态栏图标的情况下继续实际传输。