Управление ресурсами, выделенными клиентскими процессами - PullRequest
1 голос
/ 28 апреля 2009

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

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

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

1 Ответ

1 голос
/ 29 апреля 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...