【发布时间】:2009-04-28 19:33:09
【问题描述】:
作为实验的一部分,我想为应用程序编写一个基于 OpenGL 的 UI 服务器,类似于架构中的 X11 或 Quartz:核心进程将对象呈现到单个视口中,但所有图形对象都由远程进程控制.
这个想法是视图稳定性仅取决于核心过程。如果客户端进程出现段错误,其分配的资源将被安全释放 - 该功能的要求是能够安全地找出客户端进程是否已崩溃。
这里的最佳做法是什么?
【问题讨论】:
作为实验的一部分,我想为应用程序编写一个基于 OpenGL 的 UI 服务器,类似于架构中的 X11 或 Quartz:核心进程将对象呈现到单个视口中,但所有图形对象都由远程进程控制.
这个想法是视图稳定性仅取决于核心过程。如果客户端进程出现段错误,其分配的资源将被安全释放 - 该功能的要求是能够安全地找出客户端进程是否已崩溃。
这里的最佳做法是什么?
【问题讨论】:
我认为这应该被检测为连接到客户端的事件,就像任何其他客户端/服务器架构一样。
如果您使用套接字,套接字最终将注册一侧已关闭套接字(当进程崩溃时,套接字的末端将被关闭),您可以检测到,在服务器的客户端中查找拥有的客户端记录,并清理所有资源。
服务器直接(通过进程 ID 或其他方式)查找客户端会很奇怪,而且这还会不必要地限制您的架构仅在本地运行,而不是通过网络运行。
【讨论】: