Программный метод открытия портов - PullRequest
0 голосов
/ 08 января 2012

Я искал эту тему в stackoverflow и обнаружил, что библиотека telnet поможет, и я нашел библиотеку telnet здесь: C # Библиотека Telnet но я не знаю, как я могу использовать библиотеку telnet, чтобы открыть порт в моем маршрутизаторе. Я использую маршрутизатор AT & T 2wire. Любые советы о том, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 08 января 2012

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

Если вы имеете в виду открытие порта для связи (который не заблокирован), то вы можете просто создать сокеты с адресоми порт (например, localhost 7777) для установления межпроцессного взаимодействия или просто связи с другим сервером.

Как я упоминал в комментарии ниже, есть порты, которые доступны для использования (в C # это легко проверить,быстрый поиск в Google найдет вам много фрагментов кода для тестирования, если порт открыт).Простой подход состоит в том, чтобы просто начать с порта 1024 (я считаю, что это правильная нижняя граница для портов, которые должны использоваться приложениями, кто-то исправит меня, если я ошибаюсь) и просто начать подсчет, пока вы не найдете порт, который доступенЕсли вы обнаружите, что достигли некоторого верхнего предела, вы можете просто сообщить, что соединение не может быть установлено.Я надеюсь, что это прояснится немного больше, и если у меня будет время, я попытаюсь найти какой-то код, который у меня есть для этого, и отредактировать его, но, честно говоря, быстрый поиск может принести вам аналогичный код для проверки портов в C #.

0 голосов
/ 08 января 2012

Вы не можете. Маршрутизатор 2wire является островком сам по себе, если он решает заблокировать порт, ничто внешнее не может (или не должно) изменить это. Вы находитесь на неправильном пути, и вам необходимо пересчитать свои цели, чтобы получить полезный ответ.

UPnP и другие методы «дырокола» существуют, но вы попадете в беду, если попытаетесь ответить на них при любом широком развертывании.

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

...