#c #windows #rcp
#c #Windows #rcp
Вопрос:
У меня есть приложение, созданное на RCP (сервер на Windows xp embedded), и сеансы клиента хранятся на стороне сервера в качестве бизнес-объектов.
Глядя на:http://msdn.microsoft.com/en-us/library/windows/desktop/aa373939(v=vs.85).aspx Я вижу , что существует встроенный механизм для очистки неработающего соединения . Есть ли способ настроить функцию обратного вызова, которая будет вызываться при закрытии незанятых подключений?
Ответ №1:
Чтобы ответить на мой собственный вопрос, чтобы определить, когда соединение закрывается, я должен создать контекст клиента на стороне сервера где-нибудь при открытии клиентского сеанса, и когда соединение прерывается / теряется, вызывается процедура запуска контекста сервера .
Например, PCONTEXT_HANDLE_TYPE_rundown , где PCONTEXT_HANDLE_TYPE может быть типом вашего определенного контекста, если это сложная структура данных. Метод использует соглашение об именах для краткого изложения любого количества контекстов , созданных TYPE1_rundown , TYPE2_rundown .. и т.д. Более подробная информация доступна здесь:
Клиент: http://msdn.microsoft.com/en-us/library/windows/desktop/aa373581(v=vs.85).aspx
Сервер: http://msdn.microsoft.com/en-us/library/windows/desktop/aa378673(v=vs.85).aspx