2009-04-28 2 views
1

В рамках эксперимента я хочу написать UI-сервер на основе OpenGL для приложений, аналогичный X11 или Quartz в архитектуре: основной процесс отображает объекты в один видовой экран, но все графические объекты контролируются удаленными процессами.Управление ресурсами, выделенными клиентскими процессами

Идея заключается в том, что стабильность взглядов зависит только от основного процесса. Если процесс клиента segfaults, его выделенные ресурсы будут безопасно освобождены - требование для этой функции позволяет безопасно выяснить, был ли разбит клиентский процесс.

Какова наилучшая практика здесь?

ответ

1

Я думаю, что это должно быть обнаружено как событие при подключении к клиенту, так же как и с любой другой архитектурой клиент/сервер.

Если вы используете сокеты, сокет в конечном итоге зарегистрирует, что одна сторона закрыла сокет (по мере сбоя процесса, его конец сокета будет закрыт), и вы можете обнаружить это, посмотреть владельца клиента в серверных записей и очистить все ресурсы.

Было бы очень странно, если бы сервер напрямую (через идентификаторы процессов или что-то еще) искал клиентов, и это также не ограничивало бы вашу архитектуру работать только локально, а не через сеть.

Смежные вопросы