|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2017, 15:56 | #1 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Перенаправить входящее tcp подключение на другой порт
Здравствуйте.
Задача такая: имеем три программы п1, п2 и п3, все запущены на одном пк. п3 создаёт tcp сокет 127.0.0.1:10 и ожидает на нём подключения (слушает его). п2 тоже создаёт tcp сокет и слушает его 127.0.0.1:11. п1 создаёт tcp сокет 127.0.0.1:12 и делает connect() к п2. задача п2 перебросить запрос на подключение от себя к п3 и дальше слушать свой порт. Реализуемо ли в таком виде (т.е. связаться п1 с п2, запросить адрес п3 и подключиться к нему - не вариант. п1 не должен ничего знать о перенаправлении)? Меня конкретная реализация не интересует, достаточно псевдокода с названиями функций. |
10.01.2017, 16:16 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
п2 - это ваша программа или сторонняя?
Если ваша, то никаких проблем... |
10.01.2017, 16:19 | #3 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
|
10.01.2017, 16:52 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Порядок более-менее такой:
socket() - Создаем сокет listen() - Начинам слушать select() - Ждем входящее подключение и вообще всякие I/O действия accept() - Принимаем вызов connect() - Конектимся дальше read() - Читам данные write() - Пишем данные Надо поддерживать много сокетов паралельно. Самое трудное будет понять select() Вместо select() можно юзать потоки - проще будет. Проще наверно взять готове решение и допилить напильником... Ref: http://www.vakuumverpackt.de/tcptunnel/ |
10.01.2017, 17:16 | #5 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Я правильно понимаю, что по этой схеме п2 будет пересылать данные на п3? Т.е. если закрыть п2, то связь между п1 и п3 пропадёт?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CentOS Как перенаправить подключение к одному порту на другой? | alexchromets | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 1 | 14.11.2013 06:09 |
Подключение миши через USB порт | tito0000 | Общие вопросы C/C++ | 3 | 01.05.2013 09:54 |
С++Buelder-Необходимо реализовать подключение к устройству (com-порт, TCP-сокет | admin_vrn | C/C++ Сетевое программирование | 0 | 21.11.2012 00:52 |
Не получается создать удалённое сетевое подключение между двумя компами по протоколу TCP | anyx | Свободное общение | 3 | 31.05.2011 20:55 |
Перенаправить поддомен сайта на другой ip с помощью DNS | xGroupers | Свободное общение | 6 | 27.03.2008 23:52 |