Мне это - несколько философское проектное решение.
очень хорошо иметь экземпляры, которые допустимы, пока они существуют с ctor времени вперед. Для многих нетривиальных случаев это может потребовать выдавания исключения от ctor, если память/распределение ресурсов не может быть сделана.
Некоторые другие подходы являются init () метод, который идет с некоторыми собственными проблемами. Один из которых удостоверяется, init () на самом деле называют.
вариант А использует ленивый подход для автоматического вызова init () первым разом, когда средство доступа/мутатор называют, но это требует, чтобы любая потенциальная вызывающая сторона должна была волноваться об объекте, являющемся допустимым. (В противоположность "это существует, следовательно это - допустимая философия").
я видел различные предложенные шаблоны разработки, чтобы заниматься этой проблемой также. Такой как способность создать начальный объект через ctor, но имеющий необходимость назвать init () для доставления содержавший, инициализированный объект с accesors/mutators.
Каждый подход имеет свои взлеты и падения; я использовал все их успешно. Если Вы не делаете готовые к использованию объекты с момента, они создаются, то я рекомендую, чтобы большая доза утверждала или исключения, чтобы удостовериться, что пользователи не взаимодействуют прежде init ().
Приложение
я записал из перспективы программистов на C++. Я также предполагаю, что Вы правильно используете идиому RAII для обработки средств, высвобожденных, когда исключения выдаются.
Каждый раз, когда вы обслуживаете флэш-страницу пользователю, генерируйте случайный токен. Вставьте этот токен где-нибудь на странице, например как flashVar. Также сохраните последний сгенерированный токен в сеансе пользователя.
Каждый раз, когда флэш-память отправляет что-то обратно на сервер, также отправляйте токен. Если токен не соответствует токену, хранящемуся в сеансе, отклоните публикацию.
Таким образом, только последняя сгенерированная версия страницы будет иметь возможность взаимодействовать с сервером, и если пользователь откроет несколько версий будет работать только самая последняя страница.
Этот метод должен работать, даже если пользователь открывает дополнительные браузеры на других машинах. Он не использует IP-адреса для установления личности. И нет никаких шансов, что пользователь каким-то образом будет заблокирован
Если вы хотите запретить доступ с двумя разными учетными записями, вы можете применить правило, которое блокирует данный ресурс.
IP-адрес клиента может быть одним из этих блокируемых ресурсов: для одного заданного IP-адреса разрешен только один сеанс. Это уменьшит количество обмана людей, у которых есть несколько публичных IP-адресов. Люди, которые делятся общедоступным IP через прокси, столкнутся с проблемой.
Я не знаю, какой еще блокируемый ресурс вы можете легко использовать.
На ум приходят несколько вариантов ...
window.onunload
и очистить состояние в этот момент - но вы не можете 100 % гарантия, что это произойдет. Вариант 3 - лучший вариант IMHO.
htm для получения базовой информации о сокетах flash +.Вариант 3 - лучший вариант IMHO.
htm для получения базовой информации о сокетах flash +.Вариант 3 - лучший вариант IMHO.
Решение:
Ответьте на запрос ваших клиентов НЕТ, потому что вы гуру веб-дизайна, который знает, что лучше для посетителей клиента. веб-сайт должен обращаться не к вашему клиенту, а к его посетителям. и когда они так сильно ограничены в своих собственных компьютерах, они все, но не удовлетворены.