作为实验的一部分,我想为应用程序编写一个基于 OpenGL 的 UI 服务器,在体系结构上类似于 X11 或 Quartz:核心进程将对象渲染到单个视口(viewport)中,但所有图形对象都由远程进程控制.
想法是 View 的稳定性只依赖于核心进程。如果客户端进程出现段错误,其分配的资源将被安全释放 - 该功能的要求是能够安全地查明客户端进程是否已崩溃。
此处的最佳做法是什么?
最佳答案
我认为这应该被检测为连接到客户端的事件,就像任何其他客户端/服务器架构一样。
如果你使用套接字,套接字最终会注册一侧已经关闭了套接字(当进程崩溃时,它的套接字端将被关闭),你可以检测到这一点,在服务器的记录,清理所有资源。
服务器直接(通过进程 ID 或其他)寻找客户端会很奇怪,而且这也会不必要地将您的体系结构限制为仅在本地运行,而不是跨网络运行。
关于c - 管理客户端进程分配的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799502/