Size: a a a

2020 April 20

AK

Andrew Kravchuk in CODE BLOG / C#
Slava Shevchuk
Или через Sort
Каким образом?
источник

SS

Slava Shevchuk in CODE BLOG / C#
Andrew Kravchuk
Каким образом?
А вот тут подумать нужно.
По идее используя словарь
У тебя же ввод не в коде будет, а хоть с консоли.

В dictionary вроде можно отсортировать по значению
источник

V

VoVa in CODE BLOG / C#
Не хочет работать 😞
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Slava Shevchuk
А вот тут подумать нужно.
По идее используя словарь
У тебя же ввод не в коде будет, а хоть с консоли.

В dictionary вроде можно отсортировать по значению
Для него это будет слишком сложно
источник

V

VoVa in CODE BLOG / C#
Мне желательно по проще....
источник

AK

Andrew Kravchuk in CODE BLOG / C#
VoVa
Не хочет работать 😞
Последний else if меняй на else, дальше копируй весь этот if дважды и поменяй знаки < и >
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Смотри
источник

4

4g in CODE BLOG / C#
Everyday Superhero
а в случае с серым адресом разве не происходит такая схема :
комп - роутер(нат) - роутер провайдера(нат) - интернет
я посылаю с компа юдп запрос:
на роутере в нате открывается "дырка", из которой ушел запрос , тоже самое на роутере провайдера происходит. т.е. как исходный пакет ушел , так по этому пусти и входящий прийти может , нет ?
если нет , то , можете объяснить , почему ?
я вроде как этот вариант и описал. или вопрос в другом?
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Ты в первом if, else if, else ищешь максимум, во втором среднее, в 3 - минимум
источник

ES

Everyday Superhero in CODE BLOG / C#
4g
я вроде как этот вариант и описал. или вопрос в другом?
у меня проблема в том, что с сервера не доходят юдп на мой комп.  как я понимаю теперь, там стоит 2 ната . но!  по логике вещей они разве не должны принимать запросы ?
источник

ES

Everyday Superhero in CODE BLOG / C#
дырка то формируется на какое-то время
источник

4

4g in CODE BLOG / C#
Everyday Superhero
а в случае с серым адресом разве не происходит такая схема :
комп - роутер(нат) - роутер провайдера(нат) - интернет
я посылаю с компа юдп запрос:
на роутере в нате открывается "дырка", из которой ушел запрос , тоже самое на роутере провайдера происходит. т.е. как исходный пакет ушел , так по этому пусти и входящий прийти может , нет ?
если нет , то , можете объяснить , почему ?
Nat на который прилетает запрос изнутри в любом случае находится внутри сети, не где-то там непонятно где, а именно внутри - на самом роутере или на промежуточной машине, которая в свою очередь тоже может быть за NATом
источник

V

VoVa in CODE BLOG / C#
Andrew Kravchuk
Последний else if меняй на else, дальше копируй весь этот if дважды и поменяй знаки < и >
Тогда получается третие условие теряется вообще. Если я его меняю на else
источник

4

4g in CODE BLOG / C#
Everyday Superhero
у меня проблема в том, что с сервера не доходят юдп на мой комп.  как я понимаю теперь, там стоит 2 ната . но!  по логике вещей они разве не должны принимать запросы ?
нет не должны. все зависит от настроек - не важно - UDP или TCP - это все протоколы передачи данных.
объясню (попробую на пальцах):
разберем простую схему:
абонент (192,168,50,10) - локальный NAT - локальный роутер (вот здесь белый адрес на интерфейсе, например 109,210,53,211) - провайдерский роутер - интернет.
например нам нужно чтобы rdp(3389)/tcp абонента был доступен снаружи.
для этого на локальном роутере
что такое проброс порта это такой способ передачи данных извне вовнутрь, когда со стороны роутера прилетает пакет с назначением на порт 109.210.53.211:3389/tcp роутер смотрит - ога у нас есть правило по которому мы этот пакет должны отправить на 192.168.50.10:3389 - отлично - переписываем заголовок пакет и отправляем его в локальную сеть (пример блокировки такого назначения на firewall внутри роутера не рассматриваем для упрощения). далее пакет кладется в интерфейс который смотрит внутри локальной сети роутера и  далее абонент либо примет либо нет (если вдруг он отключен)


абонент - локальный NAT - локальный роутер - провайдерский NAT - провайдерский роутер - интернет.
теперь разберем эту схему (все вводные те же самые)
первым делом пакет попадает на  провайдерский роутер - тот смотрит - ога пакет tcp 3389 - у меня port forwarding не настроен - даем отлуп.
если у провайдера (идиота) этот порт и открыт, то у него свои правила port forwarding и входящий пакет на этот порт он отправим согласно своим правилам.

в это схеме нужно настроить 2 проброса:
1. из интернета в провайдерскую локальную сеть на твой роутер
2. из твоего роутера на твой комп.

провайдер п1 настраивать врядли будет - ему проще тебе продать белый адрес
источник

4

4g in CODE BLOG / C#
все это полная херня если у обоих натов динамические адреса.
источник

ES

Everyday Superhero in CODE BLOG / C#
4g
нет не должны. все зависит от настроек - не важно - UDP или TCP - это все протоколы передачи данных.
объясню (попробую на пальцах):
разберем простую схему:
абонент (192,168,50,10) - локальный NAT - локальный роутер (вот здесь белый адрес на интерфейсе, например 109,210,53,211) - провайдерский роутер - интернет.
например нам нужно чтобы rdp(3389)/tcp абонента был доступен снаружи.
для этого на локальном роутере
что такое проброс порта это такой способ передачи данных извне вовнутрь, когда со стороны роутера прилетает пакет с назначением на порт 109.210.53.211:3389/tcp роутер смотрит - ога у нас есть правило по которому мы этот пакет должны отправить на 192.168.50.10:3389 - отлично - переписываем заголовок пакет и отправляем его в локальную сеть (пример блокировки такого назначения на firewall внутри роутера не рассматриваем для упрощения). далее пакет кладется в интерфейс который смотрит внутри локальной сети роутера и  далее абонент либо примет либо нет (если вдруг он отключен)


абонент - локальный NAT - локальный роутер - провайдерский NAT - провайдерский роутер - интернет.
теперь разберем эту схему (все вводные те же самые)
первым делом пакет попадает на  провайдерский роутер - тот смотрит - ога пакет tcp 3389 - у меня port forwarding не настроен - даем отлуп.
если у провайдера (идиота) этот порт и открыт, то у него свои правила port forwarding и входящий пакет на этот порт он отправим согласно своим правилам.

в это схеме нужно настроить 2 проброса:
1. из интернета в провайдерскую локальную сеть на твой роутер
2. из твоего роутера на твой комп.

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

4

4g in CODE BLOG / C#
Everyday Superhero
спасибо за прояснение! начинаю понимать!) . но проброс порта , как я загуглил, происходит непосредственно руками , да?
т.е. нужно иметь доступ к роутеру?
а как тогда ... работает, скажем , тимвьюер или похожая программа?
я к тому , что она не имеет доступа , но спокойно кидается данными ?
все очень просто - они кидаются данными через промежуточный сервер с белым адресом (фактически их много конечно но суть думаю понятна)
источник

4

4g in CODE BLOG / C#
т.е. клиент тимвьюера держит связь с серверами тивьюера, и тот через этот канал передает данные от одного клиента тимвьюера другому клиенту с тимвьюером
источник

4

4g in CODE BLOG / C#
есть еще один хитрый способ (торрент качалки вроде его используют, но это не точно)
источник

ES

Everyday Superhero in CODE BLOG / C#
4g
все очень просто - они кидаются данными через промежуточный сервер с белым адресом (фактически их много конечно но суть думаю понятна)
но .. . очень тупой вопрос : как данные то попадают на комп ?  если там серый адрес
источник