Порты с C ++ Сервер / Клиентские приложения - PullRequest
1 голос
/ 05 апреля 2011

Если я создаю серверное / клиентское приложение c ++, порт, который я использовал для связи, должен ли он быть открыт на маршрутизаторе сервера и клиентского компьютера

Или какой другой подход я мог бы использовать?клиентский компьютер должен получать информацию с сервера, но я не могу открыть порты, потому что он находится в школьной сети ....

[править]

Хмм Моя настройкаСтраница php, запущенная на сервере, говорит, что когда я нажимаю hello, сервер устанавливает ssh-соединение через php и отправляет команды оболочки на компьютер.На сервере запущен школьный сервер, к которому у меня есть ssh-доступ, и оттуда запускаю все свои вещи.Клиентский компьютер будет моим компьютером, работающим за пределами школьного Wi-Fi, который не подключен к серверу.Сервер попытается установить ssh-подключение к общедоступному ip-адресу моего компьютера, работающему вне школьного wifi (нет открытых портов / не может быть ssh, но нет ssh-входа).Позволят ли эти методы, о которых вы упомянули, сделать это, в частности, connect.c, так как я не могу запустить putty с сервера, и connect.c, который я мог бы вызвать с php.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

Чтобы установить соединение TCP / IP, клиенту должен быть доступен только порт server . Соединение дуплексное, поэтому данные могут передаваться от клиента к серверу и наоборот.

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

Если вы не предоставите дополнительную информацию о своей услуге и настройке сети как на стороне клиента, так и на стороне сервера, мы не сможем предоставить более конкретную информацию.

0 голосов
/ 05 апреля 2011

Выбор языка здесь не имеет значения.

Нет необходимости открывать порты на любом маршрутизаторе, если только ваш трафик не пройдет через него. На обычных одноранговых хостах в одной сети (или подсети) вряд ли будет какая-либо политика брандмауэра, даже в школах.

Технически коммутатор может блокировать одноранговый трафик (то есть трафик, не предназначенный для исходящего шлюза), но это не очень обычно.

Конечно, если школа не разрешает исходящий (WAN) трафик в большинстве портов, повезло, и они абсолютно правы:)

Вы можете посмотреть на

Все очень легко гуглились

...