Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Довести настройку соединения до ума #312

Closed
pavel-pimenov opened this issue Aug 19, 2015 · 28 comments
Closed

Comments

@pavel-pimenov
Copy link
Owner

From nail...@bk.ru on January 04, 2011 17:09:15

Написали много функций, но старые не удалили. Интерфейс стал ужасен. Его можно и нужно упростить, примерно до такого вида: http://i063.radikal.ru/1101/b4/f621312977a0.png Текущий интерфейс пугает пользователя.
Ручной выбор режима совершенно не нужен, так как есть автоматический, который вполне неплохо справляется со своей задачей - отсюда появляется куча ненужных пунктов.
Выбор локального ip тоже не нужнен, это тоже можно делать автоматически. Торрент к примеру вообще всегда работает(качает) по всем ip.
Обновление внешнего IP лишним не будет даже когда у пользователя статический IP.
Нужно несколько портов UDP для поиска, т.к. по протоколу $Search [IP]:[Порт] [Строка_поиска] - поисковые запросы можно разделить. тогда можно делать несколько одновременно без перемешивания результатов. В конечном итоге фильтр впринципе вообще не нужен.
Проверку проброшенности портов тоже нужно сделать в самом флае, а не через браузер на каком-то сайте. Проверка должна проходить сразу после изменения значения номера порта.

Посмотрите на результат упрощения - всё сразу видно, просто и понятно.

Attachment: 1.png

Original issue: http://code.google.com/p/flylinkdc/issues/detail?id=269

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 04, 2011 15:20:43

Или так http://s005.radikal.ru/i210/1101/05/c119f51bd9c5.png

Attachment: 1.png

@pavel-pimenov
Copy link
Owner Author

From lexl...@gmail.com on January 07, 2011 16:12:22

  1. у меня закончился интернет я хочу посидеть через друга(ПРОКСИ), соответственно настраиваю исходящие через сокс5, а входящие в пассивный режим - медленно но работает. Как это реализовать с помощью предложенного варианта?
  2. у моего провайдера собственный хаб во внутренней сети. я подключен через роутер соответственно IP мой 192.168.1.13 IP роутера (он же в настройках) 10.104.. IP внешний - 178.171.. (который в данном случае не указываться нигде, но автоопределением выводится именно он)
  3. сижу во влае под вайном из убунты. не уверен что флай всегда корректно будет определять ип интерфейса в таких условиях

ИМХО: предложенный интерфейс сильно ограничит функционал и гибкость программы, а текущий ни капельки не ужасен. Я бы вообще хотел чтоб данные настройки и исходящих и входящих соединений можно было делать различными для каждого хаба

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 07, 2011 17:06:48

Высказывая данное предложение я основывался на торренте. Там у пользователей не возникает проблем с настройкой соединения.
Через сокс5 никто не сидит, я в этом уверен. Максимум 1 человек из 5-ти тысяч. Флайлинк ориентирован на простого пользователя... даже сказалбы пользователя "из деревни", который не разбирается в сетях и портах вообще.
Несомненно урезать функционал не стоит, но касаемо сокс5 - эту менюшку стоит спрятать так, чтобы она не пугала и не мозолила глаза обычным пользователям.
Я уверен, Вы специалист, и если Вам необходимо сидеть на хабе через сокс5 - вы отыщете его на доп. вкладке как далекобы её не запихнули разработчики.

С ip вообще глупость. К примеру уторрент ищет все ипы и качает сразу через все. Алгоритм определения ip адреса нетакой уж и сложный и нет смысла возлагать его на пользователя.
Опятьже я ориентируюсь на подавляющее большинство пользователей, которые сидят на инет хабах за роутером. Таких пользователей десятки тысяч. Я не говорю что все настройки надо удалить, достаточно вынести в отдельную вкладку вниз, в доп. настройки, чтобы их это не пугало.

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 09:01:07

Проблемы у пользователей DC как раз возникают из-за того что хабы в разных сетях :) с торрентом сравнение мало уместно.

ИМХО: предложенный интерфейс сильно ограничит функционал и гибкость программы, а текущий ни капельки не ужасен. Я бы вообще хотел чтоб данные настройки и исходящих и входящих соединений можно было делать различными для каждого хаба

+1

ps: сейчас картинку интересную покажу ;)

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 09:08:22

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

Attachment: настройки-соединения.png прямее-дальше-не-куда.png

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 09:15:20

Хотя есть кое что! Исключения Windows Firewall у нас пока нет, это факт.

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 09:29:56

Суть вот в чём: в протоколе NMDC важен IP клиента, т.к. он используется для поиска!
Если убрать механизмы с определением и заданием IP, поиск будет работать только в пассивном режиме (через хаб) а хаб для снижения нагрузки будет резать количество результатов. Именно поэтому я выше писал что сравнение с торрентом не уместно. В отличии от DC++ в torrent если трекеру будет передаваться неверный IP (или локальный IP) это приведёт к значительному снижению количества пиров, поскольку они будут стучаться не на тот адрес для соединения. Однако эта проблема в torrent хорошо компенсируется за счёт DHT. В DC++ возможность поиска с помощью DHT ещё только на стадии разработки. А именно с ним и проблемы :)

Так или иначе упрощать до безобразия интерфейс не стоит, ИМХО ;)

@pavel-pimenov
Copy link
Owner Author

From Tirael...@gmail.com on January 08, 2011 10:46:08

Я тоже считаю, что упрощать интерфейс не стоит, кому надо воспользуются расширенными настройками. Но всё же было бы неплохо перенести кнопку включения/выключения DHT на эту страницу, а то не каждый её найдёт и изменить название первого пункта на Автоматическое определения типа подключения.

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 11:17:09

изменить название первого пункта на Автоматическое определения типа подключения.

уже в r5694 , мая кода скриншот делал тоже удивился :)

На счёт DHT, надо перенести, но галочек реально тьма :) сейчас погляжу что можно сотворить

Labels: -Type-Defect Type-Enhancement

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 08, 2011 11:45:43

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

  1. Прокерка портов должна проводиться прямо в программе, без залезания на сайт. Это проще - а значит для массового пользователя хорошо. Кто против?
  2. Выбор между "Прямое соединение", "УПНП", "Ручной проброс" и "Пассив" не нужен. УПНП должен работать всегда! Ручной проброс и Прямое соединение посути ничем не отличаются, просто в первом случае вы вписываете порты, а во втором - флай. Эти пункты нужно убрать и переключить выбор в авторежим, ведь он справляется с задачей иногда даже лучше пользователя. Это проще - пользователю не нужно решать что включать (а это нужно ещё гугле порыть что все эти настройки значат), флай и без него всё знает и автоматически выберет в пассивном или активном режиме ему работать.
    Между прочем все, кто юзает торрент вообще не знают что существует пассивный и активный режим. Если это читает моератор какого-то хаба - он наверняка вам подтвердит, что все, кто после нескольких лет юзанья торрента приходят в дц, очень часто спрашивают "Что такое пассивный режим?". Они этого не знают и знать им это не нужно, там всё автоматически.
  3. Упомянутых настроек сокс5 вообще нет, спор ушел в сторону, тут обсуждать нечего.
    Скажем так, все редкоиспользуемые настройки нужно спрятот по умолчанию, и раскрывать при нажатии на кнопочку "Расчиренные настройки", которую спрятать внизу окна.
  4. Насчёт IP согласен, нужно сделать меню "select", через которое пользователь будет выбирать "Локальный"/"Внешний". Насчёт обновления IP - его нужно спрятать, чтобы не нагружало интерфейс, и не пугало пользователя.

a.rainman Вы несовсем корректно написали. Убирать механизмы с определением и заданием IP никто не просит и не требует. Просто выводить это не нужно! Пускай флай что может - делает всё сам, без участия пользователя и автоматически определяет и вводит куда нужно. Пользователю это всё знать вовсе необязательно, я уверен что у него и так бошка распухает от всего остального.

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

Attachment: error.png

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 11:51:26

Нужно несколько портов UDP для поиска, т.к. по протоколу $Search [IP]:[Порт] [Строка_поиска] - поисковые запросы можно разделить. тогда можно делать несколько одновременно без перемешивания результатов. В конечном итоге фильтр впринципе вообще не нужен.

Суть в том что порт в реальности это всего лишь цифра в стеке протоколов. Да и следуя подобной логике для работы поиска алттернативных источников стоит открыть по порту на каждый файл, т.е. если у нас в очереди 1000 файлов, понадобится 1000 портов ;) + ещё несколько про запас на поиски от пользователя, так? В общем смысла в этом нет.

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 11:55:25

  1. Прокерка портов должна проводиться прямо в программе, без залезания на сайт.

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

  1. Выбор между "Прямое соединение", "УПНП", "Ручной проброс" и "Пассив" не нужен. УПНП должен работать всегда!

полностью не согласен, а если роутера нет? ;) там уже всё автоматизировано в общем.

  1. Упомянутых настроек сокс5 вообще нет…

они есть, но теперь на отдельной вкладке.

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

раз уж пользователь залез в настройки, и решил отключить автоматику это неспроста.
в общем если честно, вы 59 бету видели? :)

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 12:00:48

ps: UPNP, прямой тип подключения, ручной проброс портов - все эти режимы никуда не денутся, они нужны, каждый режим!

прямой тип - для машин, включенных в локалку напрямую,
UPnP - для тех что за роутером с UPnP,
ручной проброс портов - в конце концов для серверов! :)

Пассивный, хотя бы в том случае если человек сидит за прокси.

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

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on January 08, 2011 16:30:17

Перенёс опцию включения DHT r5701 Осталось только разобраться с проверкой работоспособности сети, и вроде всё
Частично эта задача будет решена в ходе Issue 281 .
Однако я предполагаю дополнительную возможность проверки работоспособности сети "пассивным методом" (т.е. без всяких запросов) а просто по наличию входящих запросов на эти порты :)

Status: Started

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 08, 2011 19:50:36

a.rainman нет, не так. Вот у нас идёт поисковые запросы поочереди. Мы не можем предсказать инерционность системы (пинг, задержка хаба и клиентов), т.е. отправили запрос ответы могут идти очень долго, влодь до нескольких минут. Если в это время послать второй запрос, то придётся ждать пока флай не обработает ответы от прошлого + в это время некоторые ответы от прошлого будут подходить под текущий.
Поэтому я и предложил систему ротации протов. Выделяем 6 потов 200, 201, 202, 203, 204 и 205. Флай первый запрос сделает на 200, потом следующий на 201, потом следующий на 202 и т.д в цикле. 6-ти портов хватит точно.

прямой тип - для машин, включенных в локалку напрямую,
UPnP - для тех что за роутером с UPnP,
ручной проброс портов - в конце концов для серверов! :)
Пассивный, хотя бы в том случае если человек сидит за прокси.

Зачем предоставлять этот выбор пользователю, если флай сам может между ними выбирать? Вот я не вижу вообще никакого смысла. Почему не вывести в отдельное меню "Тонкая настройка соединения" или "Професиональный режим"...?

Насчёт UPNP как отдельный пункт. UPNP болжен работать всегда, как и автоматический режим. А вы предлогаете выбрать что-то одно, будто они противоречат друг другу.
В общем у пользователей торрента проблем нет, там вот такой интерфейс http://img260.imageshack.us/img260/3711/67565jb7.jpg У пользователей DC с пассивами обстоятельства вообще ужасны. Я прошёлся по сайтам, инструкций по настройке составлено дофига и всё бестолку. 2 года назад было 40%, год назад 50% сейчас пассивов уже 60%!
Не буду больше спорить. Я считаю что нужно просто помаксимуму упростить, чтобы у обычных пользователей хотябы не возникало испуга что куда жать.
А всякие фишки, типо сокс5 и другие нестандартные вывести в отдельное меню http://flylinkdc.googlecode.com/issues/attachment?aid=-4602730398738865320&name=error.png&token=b8f8690f5b47e622a807bbc1ebc29e2e&inline=1 которое будет открываться при клике на "Расширенные настройки"

@pavel-pimenov
Copy link
Owner Author

From Tirael...@gmail.com on January 10, 2011 02:47:55

Вот ещё вариант упрощения настроек соединения без радикальных изменений:

  1. Убрать пункт пассивный режим если автоопределение не сработает он всё равно будет переходить в пассив (или я не прав и он всё-таки нужен).
  2. Сделать автоматическим обновление IP через DHT при активации DHT.

Attachment: Снимок.JPG

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 10, 2011 04:38:49

Выбор между прямым соединением, соединением через упнп, ручным и пассивным тоже можно убрать. Вопреки тому, что сказал a.rainman - если человек в локалке, то у него полюбому все порты открыты и автоматически выставится активный режим. Т.о. предложенный мной интерфейс оптимален, в нём ничего лишнего.

@pavel-pimenov
Copy link
Owner Author

From lexsor1...@gmail.com on January 22, 2011 12:40:03

Вариант интересный http://flylinkdc.googlecode.com/issues/attachment?aid=-4602730398738865320&name=error.png&token=bb761f4544eadecf12bd5425be3e2884&inline=1 Если время будет попробую реализовать у себя покапаясь в исходниках... уже говорили что сейчас во флае очень много вкладок и когда кто-то первый раз его запускает путается в настройках, не плохо бы реализовать режим пользователя и режим эксперта, в режиме пользователя была бы упрощённая настройка, а при режиме эксперта полный набор настроек и тд

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on January 25, 2011 18:09:15

Эх, всётаки какие вы там все упрямые. Вот ответте на вопрос, вы для народа делаете клиент или для экспертов? Что вас не устраивает в моём предложении?
Ну не хотите делать проверку портов в самом меню, и не надо, но хотябы скрытие пунктов ведь можно было сделать! Вот зачем выводить неактивные пункты? Где ваша логика в конце концов? http://s004.radikal.ru/i207/1101/e4/bd4dcddb81ce.png такое ощущение что специально назло ещё сильнее усложнили

Attachment: 1.png

@pavel-pimenov
Copy link
Owner Author

From max.yaho...@gmail.com on February 04, 2011 09:24:30

А для общего развития: чем отличается "прямой тип" и "ручной проброс портов"? что там, что там флай не пробует упнп, а сразу слушает на указанных портах, т.е. это абсолютно идентичные пункты. или нет?

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on February 04, 2011 11:49:27

Прямой тип - флай устанавливает соединение выбирая порты автоматически. В ручном - пользователь указывает их сам... ну как бы сам.. вообще по умолчанию они тоже автоматически генерируются. Одно точно можно сказать - если работает "прямой тип", то "ручной проброс портов" будет работать всегда.
Зачем так сильно усложнили интерфейс непонятно. К сожеланию испытаний никаких не устроить, чтобы доказать разрабам флая что юзабилити - очень важно и именно интерфейс меню настройки соединения виноват в нашествии пассивов.
Сравни с интерфейсом торрента, там вообще всего 4 пункта - и его пользователи не знают что такие пассив и актив, торрент всё за них сам пробрасывает и решает какой режим ставить.

@pavel-pimenov
Copy link
Owner Author

From gi...@ya.ru on February 04, 2011 15:21:44

a.rain, извиняюсь, мне показалось Вы несовсем компетентны в этом вопросе. Некоторые ваши утверждения ошибочны. Действительно комментирующие правы что если работает "прямой тип", то и "ручной проброс портов" тоже работает. А вот обратное не всегда. Поэтому "прямой тип" действительно является лишним.
Также насчёт UDP портов. Вот сейчас один, я посылаю запрос и на мой порт валятся ответы и флай их обрабатывает с низким приоритетом. По популярному запросу ответы приходят и обрабатываются минут 10, даже если я нажму на стоп или вообще закрою вкладку флая. При этом если начать новый поиск - число отфильтрованных ответов будет расти очень быстро - это ответы на прошлый запрос.
Если же сделать 4-6 портов, то выйдет такая схема:
1 - послал поисковый запрос и указал в нём прот #1
2 - через 30 секунд мне уже не интересен первый запрос, я посылаю второй, но уже указываю порт #2 и мониторю ответы уже в нём. При этом мне не нужно ждать пока закончат идти ответы на первый порт.
... так можно продолжать в цикле порт 1, потом 2, 3, 4, 5, 6, потом снова 1, потом снова 2 и так далее в цикле.
Само собой если одновременно сделать 10 запросов - то это не поможет. Но пользователи обычно подряд делают втечение 10 минут 3-6 запросов, что какра укладывается в данную схему.

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

a.rain не смотрите на программы со стороны стека! смотрите со стороны работы алгоритма. Т.е. куда какая команда шлётся и какими командами или действиями отвечает клиент/хаб.

@pavel-pimenov
Copy link
Owner Author

From toss.Alexey on July 12, 2011 19:17:59

Ручной выбор режима совершенно не нужен, так как есть автоматический, который вполне неплохо справляется со своей задачей

Ложь! Ручной проброс портов он не настроит.

Выбор между "Прямое соединение", "УПНП", "Ручной проброс" и "Пассив" не нужен. УПНП должен работать всегда!

Вводная: на роутере не поддерживается UPnP.
А теперь бреши, как ваши космические корабли бороздят просторы Большого Театра!

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

Вот именно, лишь ИНОГДА!

Зачем предоставлять этот выбор пользователю, если флай сам может между ними выбирать?

Не может.

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

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

@pavel-pimenov
Copy link
Owner Author

From nail...@bk.ru on July 13, 2011 05:35:58

Вы не правильно поняли, посмотрите на работу торрента, DC клиент всегда должен пытаться пробросить порты через UPNP, даже если его нет в роутере.
Режим прямого соединения не нужен, есть режим "ручной проброс портов". Разница между ними только в том, что при прямом клиент сам выбирает порты, а при ручном - тоже сам, но пользователь может их сменить. Поэтому ручной режим работает всегда, когда работает прямой.

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

Вас просят, но вы упрямо не вникаете! К чему пустой треп если вы не понимаете ничего?
При ручном режиме порты также автоматически выбираются флаем при первом запуске. Нужно всего лишь при последующих запусках сделать проверку на занятость портов, и также при вооде, вот и всё. Но вы то мозгами шевелить не хотите, для вас чуть что, сразу всё невозможно.

@pavel-pimenov
Copy link
Owner Author

From gi...@ya.ru on July 13, 2011 07:01:28

Смотрите как реализовано в торренте. Его не дураки писали! И там всё работает, и работает лучше чем в любом DC клиенте.
И то, что у торрента нет таких проблем, как в дц - тоже не правда. У торрента также бывают и локальные трекеры и прокси (от которых нужно уходить, ибо это изврат).
Проблема "Прямое соединение" и "Ручной проброс" - конешно не нужно удалять один из них, их можно объединть, как это сделано в торренте.
UPnP - должен работать всегда, даже когда нет его в роутере или еще где. Потому как нет ситуаций где он бы мешал.
Проблема внешний - локальный IP - это тоже не проблема, если пишевелить мозгами, хаб к которому вы коннектитесь, а именно по его IP легко определить в локальной или внешней сети вы работаете. Именно так делает торрент и это работает!
Всё проблемы решаемы, вы просто банально не хотите думать. Если изначально разработчики простого DC или стронга не сделали этого - это не значит что сделать нельзя. Всё можно, повторяюсь, нужно просто пораскинуть мозгами и ещё раз посмотреть как это реализовано в торренте.

Вот этот интерфейс самый подходящий http://flylinkdc.googlecode.com/issues/attachment?aid=-4602730398738865320&name=error.png&token=a73e335f3d27ba229e948787085b3355&inline=1

@pavel-pimenov
Copy link
Owner Author

From sa.stol...@gmail.com on September 30, 2011 15:33:29

https://code.google.com/p/flylinkdc/source/detail?r=8234

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on December 14, 2011 05:15:25

Owner: sa.stol...@gmail.com

@pavel-pimenov
Copy link
Owner Author

From a.rain...@gmail.com on December 14, 2011 05:15:58

Status: Duplicate
Mergedinto: 128

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant