Я пытаюсь найти лучшее сетевое решение для моего собственного приложения для удаленного рабочего стола только для Windows (XP выше), и у меня есть следующие требования:
Какую концепцию вы мне предложите? Как бы вы разработали (с точки зрения сети) приложение для удаленного рабочего стола? Какой протокол и порт могут быть лучшими?
Я почти уверен, что HTTP на 80-м порту, вероятно, соответствует вышеуказанным условиям, но я считаю, что это неэффективно для приложений удаленного рабочего стола. Для моей реализации было бы лучше всего использовать мой собственный протокол, основанный на TCP (в идеале за каким-то защищенным уровнем), но я думаю, что это не пройдет через брандмауэр.
Как меня ищет лучший кандидат SSH, но я предполагаю, что по умолчанию он будет заблокирован многими брандмауэрами, или я ошибаюсь?
Извините за этот неубедительный (и немного субъективный) вопрос, я действительно не знаком с сетевым материалом.
я использую Библиотека Synapse для реализации.
HTTP на 80 не соответствует вашим ограничениям. На самом деле ничего не работает: конфигурация ОС по умолчанию полностью заблокирована, и в NAT не пробиты дыры для переадресации портов. Возможно, вы сможете использовать элемент управления uPnP, чтобы открыть соответствующий порт на маршрутизаторе, но это предполагает, что ваша программа работает на уровне, на котором вы можете это сделать.
Если вы выполняете замену удаленного рабочего стола (что, кажется, не так, но я все равно упомяну об этом), у вас все равно будут те же проблемы. Удаленный рабочий стол обычно имеет исключение, добавленное в локальную политику брандмауэра Windows, когда оно включено, и дыра, вводимая вручную в маршрутизатор.
Да, и корпоративный NAT обязательно нужно будет настроить вручную, чтобы разрешить вашу программу. Этого не избежать, если обе стороны являются корпоративными NAT.
Выбор 3389 дает вам некоторую возможность совмещать открытия, которые могут быть сделаны в брандмауэрах для удаленного рабочего стола, но, конечно, эти открытия сделаны, потому что удаленный рабочий стол обычно там работает.
Выбор любого порта, назначенного определенной службе, - это Плохая вещь ™, поскольку а) люди будут ожидать, что найдут службу там, и б) она может там уже быть.
Это подводит меня к последнему пункту: почему бы не использовать удаленный рабочий стол? Это довольно полнофункциональный протокол, и здесь проще всего не изобретать велосипед.