Я создал простое клиент-серверное приложение tcp в vb.net. Все работает нормально, когда я установил локальный хост (127.0.0.1) в качестве IP-адреса. Я хочу установить соединение с удаленной машиной (сохранение клиента на моем компьютере и сервере на другом - или наоборот).Подключение к удаленному компьютеру через клиент-сервер
EDIT:
нормально, код интереса выглядит следующим образом:
сервера:
сервера Dim Как TcpListener = Новый TcpListener (IPAddress.Any, порт)
в client:
Dim theip As IPAddress = IPAddress.Parse (TextBox1.Text) client = Новый TcpClient (theip.ToString, порт)
Теперь, что я должен вводить в «TextBox1.Text», если у меня есть клиент на удаленном компьютере (подключен через Интернет) и сервер на другом компьютере (чей внешний IP-адрес известен)? Могу ли я ввести внешний IP-адрес машины, на которой запущен сервер, прямо в текстовом поле? Кроме того, мне нужно позаботиться о таких вещах, как «переадресация портов»/«позволить межсетевому экрану разрешить соединение» и все такое? Если да, можете ли вы направить меня или связать учебное пособие, чтобы мое приложение выполняло это автоматически или существует альтернативный подход к достижению этого, и поэтому пересылка порта не требуется? Большое спасибо!
Если вы подключаетесь через Интернет, пересылка портов должна быть обязательной, как и для всех сетевых подключений, поэтому соответствующий компьютер отвечает на соответствующий порт. При подключении по локальной сети вам просто нужно разрешить исходящий вызов на клиентском и входящем соединениях на сервере на брандмауэре. Невозможно настроить эту программу, это полностью за пределами ответственности вашего приложения за это. Вы должны предоставить четкую документацию или рекомендации для пользователя для выполнения этих действий на обоих ПК. Кнопка «тестовое соединение» может помочь устранить неполадки. – Alejandro
спасибо за помощь Alejandro !, у меня вопрос, хотя - как работает приложение, такое как utorrent и teamviewer? Они никогда не просят пользователя пересылать порт ... – Mohit
Teamviewer выполняет только исходящие соединения с обеих сторон, и их сервер управляет соединением, поэтому им не требуется переадресация портов (но ДОЛЖНЫ УСТРАНЕНИЯ БУДУЩЕГО ОТВЕТА на порт, который он использует). UTorrent ** действительно нуждается в переадресации портов на вашей стороне, и он предлагает тест для этого, поскольку он является протоколом одноранговой сети, он слушает соединения для посева, и, хотя он может работать без него, он просто позволяет загружать, делая Bittorrent inneficient. Единственное, что я думаю, что вы можете сделать, чтобы избежать перенаправления портов у пользователей, - это самостоятельно разместить часть сервера. – Alejandro