c - 检查服务器进程是否正在侦听域套接字
问题描述
我正在编写客户端-服务器程序,该程序使用 unix 域套接字在双方之间进行通信。要求是:
- 服务器在给定地址上打开一个抽象套接字,然后监听它。通过一些触发器,服务器可以停止监听。
客户端必须监视服务器是否正在侦听给定的地址路径
- 如果服务器正在侦听套接字,则向服务器发送注册请求
- 如果服务器关闭套接字然后做一些动作清理......
要检查服务器是否正在侦听,我的解决方案是:
定期创建套接字并连接到服务器地址路径,如果成功,则表示服务器正在侦听,反之亦然。
但是,如果检查间隔太短,该解决方案似乎会消耗 CPU。
那么我的问题是:我们是否有任何方法,例如向系统注册一些回调,并在某个进程开始/停止侦听给定地址时获取通知?或其他更好的建议...??
非常感谢,
解决方案
推荐阅读
- c# - 使用 MathNet 库沿三次样条插值
- laravel - Laravel 和 MongoDB 登录连接错误“找不到合适的服务器”(在本地服务器上中断,在产品上工作)
- io - 可以在控制台输入上 deno emmit 事件吗?
- windows - 使用未解析的变量或脚本参数创建脚本(如“%~dp0”)
- vue.js - 如何在 vue 模板中使用异步功能?
- r - 在 geom_text() 的分组文本中插入返回
- html - HTML - 一个溢出的、相对定位的子元素在它的父元素中创建了额外的空间
- python - 如何从 Kivy 的 ScreenManager 访问 id 并通过主应用程序类处理它们?
- php - 无法在非身份验证应用程序中显示会话变量
- typescript - 类型“Type[T]”上不存在属性“key”