Варианты для связи с настольным приложением C # с сервера Linux? - PullRequest
2 голосов
/ 10 марта 2011

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

Через X минут сервер отправляет сообщение клиенту, чтобы закрыть / отключить клиент, требующий его перезапуска, также ограничивает ежедневное использование демонстрационной версии для того же пользователя.

Поскольку я очень неопытен в этом типе или в общении, я хотел бы проконсультировать вас, ребята, с какими вариантами у меня здесь?

Настольное приложение разработано в C # для запуска в основном на ОС Windows, как длясервер у нас есть только linux и какой тип сервиса, если есть возможность сделать webapi или sЭссенция в php или perl для работы с ним, которая была бы достаточно надежной, была бы хороша, но если это невозможно, мы открыты, чтобы услышать другие варианты.

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

Ответы [ 3 ]

0 голосов
/ 10 марта 2011

Проверка DateTime.Now может работать, как сказал Бен, но вам лучше воспользоваться System.Timers.Timer. Установите интервал, который будет вашим желаемым интервалом между вызовами аутентификации в миллисекундах. Присоедините обработчик к прошедшему событию, которое запрашивает информацию об аутентификации. System.Timers.Timer работает в отдельном потоке, поэтому вы можете воспользоваться здесь некоторым параллелизмом. Изменение системного времени не должно иметь никакого эффекта на System.Timers.Timer, но я не уверен в этом.

0 голосов
/ 10 марта 2011

Я бы выбрал HTTPS с взаимной аутентификацией на основе сертификатов в качестве самого безопасного варианта. Настольное приложение может опрашивать сервер (= периодически спрашивать) и завершать работу в случае отсутствия ответа / отсутствия соединения / отрицательного ответа.

Однако, основываясь на типе приложения, которое вы разрабатываете, и целевой аудитории , вы можете ожидать, что у значительного количества пользователей у будут проблемы с подключением или вообще не имеет связи .

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

0 голосов
/ 10 марта 2011

Не думаю, что для этого нужно привлекать сервер.

Просто заставьте настольное приложение сохранить дату и время своего запуска.Периодически по таймеру вы можете проверить текущее время, посмотреть, прошло ли слишком много времени для демо-версии, и сообщить пользователю, что он должен выйти.

Маловероятно, что многие пользователи попытаются обойти это.Они с большей вероятностью откажутся от вашего пробного программного обеспечения в пользу чего-то, что относится к ним достойно!

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