Нужны рекомендации
От: Alllie  
Дата: 16.09.14 08:15
Оценка:
Пишу маленькую программу для администраторов игровых серверов. Чисто для развлечения, программку предполагается бесплатно отдать людям.

Что хочу добавить:
1. Логирование, с отправкой критических ошибок. Как отправлять? По почте (хранить пароль на клиенте глупо)? Или сделать сервис и делать POST запрос?
2. KPI. Пока вообще не знаю нужен ли он мне и зачем (тренируюсь на кошках). Здесь вопрос как отсылать. POST?

Как пользователи вообще отнесутся к тому, что программа, которая впринципе должна работать локально, отсылает информацию на сервер?
Как ведет себя приложение, если оно заблокировано через firewall?

Технологии .Net 3.5, WPF.
Re: Нужны рекомендации
От: nG7  
Дата: 16.09.14 08:24
Оценка:
Здравствуйте, Alllie, Вы писали:

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


Отправлять через сокеты. На сервере должен работать демон (если под Linux), который принимает данные.
Если приложение заблокировано, то оно ничего не может отправить.
Если пользователя предупреждать, то нормально отнесутся. 2014 год на дворе. Онлайн кругом.
Re[2]: Нужны рекомендации
От: Alllie  
Дата: 16.09.14 09:14
Оценка:
Здравствуйте, nG7, Вы писали:

nG7>Отправлять через сокеты. На сервере должен работать демон (если под Linux), который принимает данные.

Чем сокеты лучше HTTP?
nG7>Если приложение заблокировано, то оно ничего не может отправить.
Это понятно, вопрос в том, что будет при попытке отправить, что то через сокеты или HTTP. Или все оборачивать try/catch?
Re[3]: Нужны рекомендации
От: nG7  
Дата: 16.09.14 09:24
Оценка:
Здравствуйте, Alllie, Вы писали:

A>Чем сокеты лучше HTTP?

Дык, http через сокеты и работают.
сокеты это 4-5 уровни модели OSI.
http это 7 уровень, т.е. уровень приложений.

A>Это понятно, вопрос в том, что будет при попытке отправить, что то через сокеты или HTTP. Или все оборачивать try/catch?

firewall заблокирует и ничего не отправится. Сокет даже не сможет установить соединение с удаленным хостом.
Re[4]: Нужны рекомендации
От: Alllie  
Дата: 16.09.14 09:40
Оценка:
Здравствуйте, nG7, Вы писали:

A>>Чем сокеты лучше HTTP?

nG7>Дык, http через сокеты и работают.
nG7>сокеты это 4-5 уровни модели OSI.
nG7>http это 7 уровень, т.е. уровень приложений.

Я знаю разницу между сокетами(TCP/UDP) и HTTP. Просто пока реально не вижу плюсов сокетов. Как раз их узкоуровневость мне и не нравится. То есть нужно делать свой протокол общения, если типов сообщений больше одного. Допустим в первом байте передавать тип сообщения, а в последующих информацию, а в HTTP можно разные url'ы дернуть, RESTfull и все такое.
Re: Нужны рекомендации
От: Alllie  
Дата: 16.09.14 09:59
Оценка:
A>2. KPI. Пока вообще не знаю нужен ли он мне и зачем (тренируюсь на кошках). Здесь вопрос как отсылать. POST?

Конкретнее про KPI, какие параметры вы используете?
Отправлять каждую минуту или 5 минут запрос о том, что программа работает.
Хранить информацию:
идентификатор,
IP,
хранить сессии и как долго длится каждая сессия (от запуска, до выключения),
настройки программы,
какую часть программы, сколько раз использовали (по нажатиям кнопок).
Re: Нужны рекомендации
От: wantus  
Дата: 16.09.14 10:00
Оценка:
Здравствуйте, Alllie, Вы писали:

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


A>Что хочу добавить:

A>1. Логирование, с отправкой критических ошибок. Как отправлять? По почте (хранить пароль на клиенте глупо)? Или сделать сервис и делать POST запрос?

Если это под винды, то лог стоит сливать через https://, используя WinInet API. У меня раньше был самописный http uploader поверх голых сокетов. Всё было умопомрачительно красиво и элегантно, но, как оказалось, есть дохрена людей, которые сидят за проксями. То есть вовсю лезли 403, 404, 500 там, где их по идее не должно было быть. Перешел на WinInet — *все* проблемы пропали, потому что WinInet автоматом реюзает системные настройки проксей и т.п.

A>Как пользователи вообще отнесутся к тому, что программа, которая впринципе должна работать локально, отсылает информацию на сервер?


Как, как ... плохо отнесутся. Это же не айфон какой-нибудь, где в каждой софтине — звонилка домой, как минимум. Чувство собственности на PC еще достаточно сильное и люди хотят быть in control of what's happening on their boxes.

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

Единственный рабочий вариант — это при первом запуске сказать, что "раз бесплатно, то с вас — анонимная телемтрия", и показать кнопку OK. ... хотя по идее можно обязательной сделать weekly check for updates и сливать KPI через него. Но опять же, если об этом заранее не сообщить, то можно получить an earful.
Отредактировано 16.09.2014 10:02 wantus . Предыдущая версия .
Re[2]: Нужны рекомендации
От: Alllie  
Дата: 16.09.14 16:31
Оценка:
Если прокси настроены в самой винде, то в .Net приложении их легко переиспользовать. Или там что то висит что просматривает заголовки пакетов и фильтрует?
Мне кажется для большинства моих нынешних "клиентов" прокси не актуально, но на будущее учту ваш совет, спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.