Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
1

Как сделать,чтобы tcp сервер-клиент работал не по локалке,а через интернет?

15.09.2016, 23:15. Показов 5374. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать,чтобы tcp сервер-клиент работал не по локалке,а через интернет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2016, 23:15
Ответы с готовыми решениями:

Как можно создать клиент-сервер TCP, который работает через интернет?
Ребята , как можно создать клиент-сервер TCP , который работает через интернет? Ну к примеру есть...

TCP клиент-сервер через интернет
Ситуация такая: Есть два компа. На одном сервер на другом клиент. Все реализована на...

Есть е1 канал и asterisk передается по внешнему каналу. как можно сделать так чтобы по локалке работал
есть е1 канал и asterisk передается по внешнему каналу. как можно сделать так чтобы по локалке...

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

21
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
15.09.2016, 23:54 2
Цитата Сообщение от NewNoob Посмотреть сообщение
чтобы tcp сервер-клиент работал не по локалке,а через интернет?
Для внешних взаимодействий логичнее использовать Http.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
16.09.2016, 08:18  [ТС] 3
insite2012, мне хотя бы какую-то технологию изучить сначала. Всё-таки я про TCP спрашивал.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
16.09.2016, 08:57 4
NewNoob, да точно-также, как и по локалке. Только IP адрес должен быть внешним и статичным. Это для самого простого случая, когда у тебя сервер на машине с интернетом без локальной сети. Если же в условиях задачи появляются прокси, локальная сеть и т.д. - решение усложняется. На прокси-сервере надо будет прокинуть порт на нужную машину.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
16.09.2016, 09:18  [ТС] 5
aquaMakc,конечно,я пробовал внешний ip.Ничего не получается. Как найти статичный- Что такое прокси,как с ним работать? И почему я не могу использовать свой комп как сервер?
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
16.09.2016, 09:19 6
Цитата Сообщение от NewNoob Посмотреть сообщение
Как найти статичный- Что такое прокси,как с ним работать? И почему я не могу использовать свой комп как сервер?
Эти вопросы выходят за границы языка программирования.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
16.09.2016, 10:05  [ТС] 7
aquaMakc, т.е вы не знаете ответа?
0
2 / 2 / 5
Регистрация: 28.06.2015
Сообщений: 81
16.09.2016, 15:17 8
скорее всего тебе через настройки провайдера нужно выделять отдельный ip и им пользоваться в дальнейшем
0
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
16.09.2016, 15:20 9
Цитата Сообщение от NewNoob Посмотреть сообщение
И почему я не могу использовать свой комп как сервер?
Всё можно! Только:

Сервер стоит за роутером?
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
16.09.2016, 18:23  [ТС] 10
Willyams, ну что так всё сложно -_-

Добавлено через 1 минуту
LeniumSoft, в смысле? Я программу-сервер написал. А ноут - да, подключён к роутеру.

Добавлено через 1 минуту
Willyams, а проще,а также бесплатно,не прибегая к чужой помощи,никак?
0
4 / 4 / 5
Регистрация: 03.07.2015
Сообщений: 72
16.09.2016, 19:53 11
Одно и из решений это сделать проброс порта на роутере
Тогда любой из Интернета сможет подключаться
А если внешний айпи меняется можно использовать динамический днс если на роутере поддержка есть
0
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
16.09.2016, 21:57 12
Цитата Сообщение от NewNoob Посмотреть сообщение
А ноут - да, подключён к роутеру.
Внутри сети все видят твою прогу-сервер по IPAddress-у

А вот чтобы её увидели из интернета, нужно сказать роутеру, какому компьютеру предназначено подключение.(пробросить порт, который мониторит сервер)

После того нужно узнать внешний IP. Можно с компа, на котором сервер, зайти на сервисы определения айпишников.

У уже на этот айпишник надо коннектить клиентов, а роутер переправит соединение нужному компу внутрь сети.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
16.09.2016, 23:32  [ТС] 13
votetoda, ,кстати,вопрос,при пробросе портов уровень защиты как меняется? Т.е не создаст ли это угрозы?

Добавлено через 1 минуту
LeniumSoft, ясно. Проблема была в том,что это роутер,и он не знал,куда отправлять именно в локалке? А как работают автоматизированные программы - ICQ,SKYPE? Хотя,там,наверное,есть уже настроенный сервер,с которым мы и соединяемся.

Добавлено через 23 минуты
LeniumSoft, короч,кажется,прогресс есть,но вот ошибка: подключение не установлено т.к. конечный компьютер отверг
0
4 / 4 / 5
Регистрация: 03.07.2015
Сообщений: 72
16.09.2016, 23:34 14
Уровень защиты естественно снижается. Весь трафик который приходит на проброшенный порт перенаправляется на сервер. Поэтому можно провести например атаку "отказ в обслуживании".
На продвинутых роутерах можно сделать умную фильтрацию или сделать ограничение по количеству запросов в секунду
Какие угрозы имеются ввиду ? Если похитить данные с ПК в локальной сети, то врядли
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
17.09.2016, 00:05  [ТС] 15
votetoda, а вопрос: что делать с этой ошибкой? "подключение не установлено т.к. конечный компьютер отверг". Файрвол отключать пробовал. Исключение тоже добавлял.
0
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
17.09.2016, 01:19 16
Цитата Сообщение от NewNoob Посмотреть сообщение
А как работают автоматизированные программы - ICQ,SKYPE?
Они умеют просить роутер пробросить для них порт
Это сложная тема. Надо юзать api роутеров.

Цитата Сообщение от NewNoob Посмотреть сообщение
подключение не установлено т.к. конечный компьютер отверг
Попробуй другой порт использовать. И перепроверь все пробросы портов. Ещё можно попробовать подрубиться кабелем к роутеру(не по вайфаю).
Короче это уже тебе надо пробовать разные варианты. Ошибка очень обширна. На клиенте тоже попробуй добавить в исключения брандмауэра.

Ммм. И я бы попробовал убрать роутер. Если это возможно. Дабы исключить его пакости.
0
4 / 4 / 5
Регистрация: 03.07.2015
Сообщений: 72
17.09.2016, 09:56 17
На сервере можешь поставить wire shark и задампить трафик когда клиент пробует подключиться
Отфильтруй tcp.dstport == "порт_который_слушает_сервер"
В дампе должен быть пакет TCP SYN от клиента. Если его нет , значит проблема на роутере или у клиента
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
17.09.2016, 13:13  [ТС] 18
votetoda, короч,я интерфейс не тот поставил. Теперь работает. Ещё вопрос: если я поставил проброс порта,то программы,которые используют этот порт,будут перенаправляться только на мой пк? Или они сами это будут изменять? Например, порт почты и т.п.
0
4 / 4 / 5
Регистрация: 03.07.2015
Сообщений: 72
17.09.2016, 13:29 19
Да , Только на твой ПК
Например 80 порт если пробросить то весь веб трафик будет приходить на твой пк. Кроме https - он использует 443
Вообще проброс везде по разному настраивается. Обычно по порту назначения. Тогда будет как описал выше
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
17.09.2016, 14:03  [ТС] 20
votetoda, хм,а если,например,я запущу скайп и он,допустим,будет использовать 80 порт. Как понять роутеру,на какой ip его пересылать? API функции роутера? И на 1 порте соответственно одна программа,верно?
0
17.09.2016, 14:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2016, 14:03
Помогаю со студенческими работами здесь

Клиент-сервер TCP через маршрутизатор
Пишу программу для сетевого взаимодействия клиент-сервер. Назначение - возможно чат. Писал на...

как создать TCP клиент, TCP сервер ? На С++
Очень нужна помощь!Как написать TCP клиент, TCP сервер. Например,клиент вводит строку с клавиатуры...

Клиент/сервер: перевод чисел из 8 в 16 систему через TCP
Перевод чисел с 8 в 16 систему через TCP. есть пара ошибок, при смени порта 8080 на другой ошибка,...

Переводчик с русского на английский через TCP клиент-сервер
Код сервера using System; using System.Net; using System.Net.Sockets; using System.Text; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru