套接字编程中的选择函数

2024-04-24

谁能告诉我它的用途和应用selectc 中套接字编程的函数?


The select()当您必须处理多个事件源时,函数允许您实现事件驱动的设计模式。

假设您想编写一个程序来响应来自多个事件源的事件,例如网络(通过套接字)、用户输入(通过标准输入)、其他程序(通过管道)或任何其他可以由fd。您可以启动单独的线程来处理每个事件源,但您必须管理线程并处理并发问题。另一种选择是使用一种可以聚合所有数据的机制fd成为一个单一的实体fdset,然后只需调用一个函数来等待fdset。每当事件发生在任何一个上时,该函数就会返回fd。你可以检查哪个fd该事件发生于,请阅读fd,处理事件并响应它。完成此操作后,您将返回并坐在该等待功能中 - 直到某个事件发生另一个事件fd到达。

select设施就是这样一种机制,并且select()function 是等待函数。您可以在任意数量的书籍和在线资源中找到有关如何使用它的详细信息。

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

套接字编程中的选择函数 的相关文章

随机推荐

  • C#:使用指针类型作为字段?

    在 C 中 可以声明具有指针类型成员的结构 或类 如下所示 unsafe struct Node public Node NextNode 它是否安全 呃 暂时忽略那个具有讽刺意味的小unsafe标志 使用这个结构 我的意思是在堆上长期存储
  • 使用 VSCode 在 Python 中调试期间读取输入

    这是我在 vs code 中使用的 python 扩展 python 扩展 https marketplace visualstudio com items itemName donjayamanne python 当我使用扩展提供的调试功
  • python 中数据库连接池的最佳解决方案是什么?

    我开发了一些类似于 DAO 的自定义类来满足我的项目的一些非常特殊的要求 该项目是一个不在任何类型的框架内运行的服务器端进程 该解决方案效果很好 只是每次发出新请求时 我都会通过 MySQLdb connect 打开一个新连接 将其切换为使
  • 当我提出自己的异常作为响应时,如何更轻松地抑制以前的异常?

    Consider try import someProprietaryModule except ImportError raise ImportError It appears that
  • 西格网络速度

    这个库对于获取 cpu ram 和其他人员来说非常棒 但是 我不知道如何获得网络速度 这意味着 在一段时间内发送和接收了多少数据 有办法给我这些数据吗 这可能是我正在寻找的东西吗 Tcp stat sigar getTcp stat get
  • Windows 和 OS X 之间 build.gradle 中的相对路径不同

    我的项目有一个包含密钥库文件 file keystore 的文件夹 这是结构 gradle 2 2 taskArtifacts idea copyright libraries app build generated libs src an
  • 如何使视频资源兼容视网膜显示?

    我有一个应用程序 可以在播放 2 秒的电影时加载 目前 该应用程序已在商店上架 并且除此视频外 所有静态内容均符合视网膜显示标准 我有一个用于视网膜显示屏的 960x640 mp4 h 264 编码视频 它在 iPhone 是的 高分辨率
  • 深层链接不起作用 - 离子

    我正在使用 Deeplinks 和 ionic 3 但我创建的 url 不起作用 这是网址 https lucky com prd rm74fEgBB2frzhagYcov https lucky com prd rm74fEgBB2frz
  • 为什么函数(Python)的 __code__ 是可变的

    在昨天的上一个问题中 在评论中 我开始知道在 python 中 code 函数的属性是可变的 因此我可以编写如下代码 def foo print Hello def foo2 print Hello 2 foo foo code foo2
  • JSF“错误 Mac 未验证!” [复制]

    这个问题在这里已经有答案了 我一直在尝试使用 jsf 中的 primefaces 实现一些基本的推送功能 我用过那里的反例http www primefaces org showcase labs push counter jsf http
  • Unity HTML5 错误:找不到编码 1252 数据

    我使用的是 Mac 在 Google Chrome 中执行我的小应用程序时 出现 不支持代码页 1252 的 pb 我正在使用Unity 2017 年 6 月测试版为了整合几何健身房IFClib 的编码为 NET 4 6 现在在最后一个 U
  • 基本里德-所罗门纠错问题

    在存在丢失字节 或多个丢失字节 的情况下 里德 所罗门纠错是否有效 例如 假设它是 12 8 Reed Solomon 码 那么理论上它应该能够纠正 2 个错误 如果位置已知 则可以纠正 4 个擦除 但是 如果仅接收到 11 或 10 个字
  • JavaFX:无法设置绑定值异常

    在我的 javafx 应用程序中 我创建了一个表视图 其中有一些项目 如果项目存在于表视图中 则应启用删除按钮 否则应禁用删除按钮 现在的问题是 当我选择项目并单击删除按钮时 它会引发以下异常 我该如何解决这个问题 这是我的表格视图代码 t
  • 错误代码:1290。MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句

    我遇到了这样的问题 错误代码 1290 MySQL 服务器正在使用 secure file priv 选项运行 因此无法执行此语句当我尝试执行 MySQL 语句 Windows 时 SELECT FROM xxxx WHERE XXX IN
  • 锁问题 - “U”锁与“X”锁

    我有几个关于更新 U 锁和独占 X 锁的问题 1 当资源即将更新时 对资源施加 X 锁 我是否正确 2 我对U锁有点模糊 当读取资源并且 SQL Server 认为稍后可能需要更新资源时应用 U 锁 我是否正确 如果这是正确的 那么只有在事
  • 在单元测试 CI 期间模拟单击 PyQt5 QMessageBox 小部件中的按钮

    如果我们运行下面的最小示例 而不是长篇大论 python3 Python 3 7 6 default Jan 30 2020 09 44 41 GCC 9 2 1 20190827 Red Hat 9 2 1 1 on linux Type
  • 使用 Crypto++ 库以 CBC 模式实现 AES128

    在输入文件中我有 第一行是一个以十六进制编码的密钥 长度为 16 个字节 在第二行加密消息 CBC 模式下的 AES128 在加密消息前面添加随机 iv 这就是我尝试解密的方法 include
  • 自定义圆形视图。放置视图

    昨天我尝试创建一个自定义视图 其中所有元素 像按钮 图像按钮 被放置在一个圆圈周围 间距相等 我的目标是得到这个 我尝试了这段代码 public class CircleView extends RelativeLayout private
  • 如何使用 Alamofire 5.0.0-beta.3 (Swift 5) 上传图像(分段)

    我正在研究使用多部分上传图像 这段代码工作正常swift 4 and 阿拉莫菲尔 4 请为此提供任何解决方案 public class func callsendImageAPI param String Any arrImage UIIm
  • 套接字编程中的选择函数

    谁能告诉我它的用途和应用selectc 中套接字编程的函数 The select 当您必须处理多个事件源时 函数允许您实现事件驱动的设计模式 假设您想编写一个程序来响应来自多个事件源的事件 例如网络 通过套接字 用户输入 通过标准输入 其他