Android 的非阻塞 IO

2023-12-08

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

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

有什么建议吗?


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

Android:无缓冲 IO http://developer.android.com/reference/java/nio/channels/ServerSocketChannel.html http://developer.android.com/reference/java/nio/channels/SocketChannel.html http://www.developer.com/java/article.php/3837316/Non-Blocking-IO-Made-Possible-in-Java.htm

或者,也许我没有正确阅读你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 的非阻塞 IO 的相关文章

  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 如何在CSS中访问iOS上真正的100vh

    这是一个自我问答 如果您曾经尝试过使用100vh在 iOS 上的 CSS 中 您会发现当浏览器 chrome 展开时 它实际上不是 100vh 这是一个有据可查的错误 苹果公司认为它实际上是一个功能 这是解释错误的好书 那么绕过这个 功能
  • c++ 编译“错误:‘=’标记之前预期的构造函数、析构函数或类型转换”

    位于同一文件 foo h 中的非常简单的代码 class Xface public uint32 t m tick Xface uint32 t tk m tick tk std map
  • Docker 正在覆盖我的默认路由配置

    这里是一个菜鸟 从 Orange Pi 3 Raspberry Pi 克隆 中的 docker 开始 我正在尝试配置并启动 docker 容器 bitwarden rs 但是当我这样做时 我失去了与外部网络的连接 Docker 弄乱了我的路
  • JBoss EAP 6.1 中的验证器不接受 StAXSource

    验证时出现问题StAXSource在 JBoss 服务器中 我尝试过的 我尝试使用 StAX 同时进行解析和验证 如本文所述example 我能够将程序作为独立应用程序执行 但是当我尝试将它作为网络应用程序时JBoss EAP 6 1服务器
  • 熊猫会丢弃重复项;值按相反顺序排列

    我正在尝试找到一种利用 pandas 的方法drop duplicates 当值顺序相反时识别行是重复的 一个例子是 如果我试图查找客户同时购买苹果和香蕉的交易 但数据收集顺序可能会颠倒这些项目 换句话说 当合并为完整订单时 交易将被视为重
  • Firebase列表适配器构造函数错误

    我创建了一个函数来显示聊天消息 我遵循了教程 并且还查看了 Firebase 列表适配器的文档 但无论我做什么 我都会收到此错误 Error 98 19 error constructor FirebaseListAdapter in cl
  • JCalendar 多日选择

    是否可以在 toedter 的 JCalendar 中选择多天 就像我可以在日历中突出显示 2 或 3 天 然后在使用按钮触发事件后突出显示这些天 或者我应该使用 JTable 作为日历更好 I d use a one column JTa
  • 使用Python 3.7+进行100k API调用,使用asyncio并行进行100个[重复]

    这个问题在这里已经有答案了 使用 asyncio async await 和 Python 3 7 来交付 100k API 调用的最佳方法是什么 这个想法是始终并行使用 100 个任务 应该是什么avoided is 1 开始处理所有 1
  • 不同用户角色的不同视图集

    我正在开发一个 Rails 应用程序 我有2 不同用户的角色 高级和基础 我想管理而不是隐藏基本用户视图中的链接 即使用 CanCan 2组不同的视图 一份供高级用户使用 一份供基础用户使用 目前我正在以这种方式工作 case curren
  • MVC 路由映射在 Html.RenderAction 上出现异常:路由表中没有路由与提供的值匹配

    我使用 ASP NET MVC 5 这是我的所有操作的路线图 除了Home index routes MapRoute name randomNumber url controller randomNumber action default
  • 如何使用 GitHub Org 插件从 jenkins 管道 (jenkinsfile) 触发另一个作业?

    我如何从内部触发另一个工作的构建Jenkinsfile 我假设这个工作是同一个下的另一个存储库github组织 已经有自己的 Jenkins 文件 我也想仅在分支名称为 master 时才执行此操作 因为触发任何本地分支的下游构建是没有意义
  • ggplot2:格式化图例类别

    我希望能够做这样的事情 https stackoverflow com a 30036603 除了使用 legend text 而不是 axis text x 这可能吗 它会是这样的 除了它目前不工作 所有labs为斜体 data lt d
  • 如何测量 NVIDIA CUDA 中的内部内核时间?

    我想测量GPU内核的时间 如何在NVIDIA CUDA中测量它 例如 global void kernelSample some code here get start time some code here get stop time s
  • 是否有“获取或默认”方式访问列表? [复制]

    这个问题在这里已经有答案了 我喜欢函数 get 它可以提供默认值 但这仅适用于字典 s dict s get Ann 0 我为列表写了类似的东西 Python3 4中已经存在这个函数了吗 def get s ind return len s
  • 如何给 Django 管理中的一列 Change_list 一个 CSS 类

    我想更改 Django 管理列表显示中的列宽 是否可以以某种方式将 CSS 类名添加到列中 我最好不要覆盖整个模板来完成此任务 在 Django gt 1 6 中 CSS 类包含在 list display 输出中 中的字段名称list d
  • 重用具有不同所需属性的模型

    我有一条路径 它使用每个 http 方法具有几乎相同属性的复杂模型 问题是我想定义somePUT 和 POST 请求所需的属性 而 GET 响应中不需要属性 因为服务器始终返回所有属性及其在文档其他地方提到的属性 我创建了一个简单的 cat
  • Asp.Net Core 中的本地化

    我一直按照此页面上的说明来设置本地化 https learn microsoft com en us aspnet core fundamentals localization 然而 对我来说 这似乎不起作用 这是我所做的 启动 cs pu
  • 使用 Nuget Core DLL 设置包凭据

    我想通过 Http 身份验证获取私有源中的包列表 这是我的代码 当我调用列表插件方法时 出现 401 错误 如何设置凭据 public class PluginManager private readonly string pluginFo
  • Rails 3.1,jQuery UI 不加载

    我正在使用 Rails 3 1 并且 jQueryUI 库有问题 这是我的application js file require jquery require jquery ui require jquery ujs Loads all B
  • Android 的非阻塞 IO

    我目前正在尝试评估一个项目是否可以在Android上实现 我认为一个主要问题是 由于它是 P2P 客户端 因此我们必须在运行时保持大量连接打开 现在连接不会传输大量数据 它更像是一个消息系统 因此如果我们时不时地读取一条 64 字节的消息