Начало работы с http туннелированием - PullRequest
2 голосов
/ 03 сентября 2010

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

Это программное обеспечение будет написано на C ++. Моя проблема в том, что я не знаю, с чего начать поиск ресурсов, касающихся реализации HTTP-туннелирования.

Полагаю, я мог бы использовать WCF для этого - это звучит как хорошая идея? Есть ли плюсы / минусы этого маршрута?

1 Ответ

0 голосов
/ 03 сентября 2010

Преимущество использования чего-то вроде WCF заключается в том, что аномалии "прохождения" через некоторые маршрутизаторы обрабатываются для вас. Я говорю о глубокой проверке пакетов, которую проводят некоторые маршрутизаторы, которая идентифицирует отправляемый вами материал как «неприемлемый», если он не выглядит как чистый HTML.

С другой стороны, работа с WCF в C ++ может быть интересной. Предположительно это означает, что вы готовы писать код на C ++ / CLI.

Тем не менее, я думаю, вы обнаружите, что ваш выбор сетевой платформы - меньшая проблема. Более того, ваша логика управления сетью будет занимать ваше время. Если вы выполняете какое-то количество асинхронных сетевых коммуникаций, убедитесь, что вы хорошо образованы с помощью хорошего инструмента конечного автомата . Обратите внимание также на порт C # .

p.s. Если вы не используете управляемые клиенты с WCF, просто помните, что ваши сообщения должны быть сериализованы со свойствами / атрибутами XML в алфавитном порядке. В противном случае вы получите необъяснимые ошибки. Нули должны быть отправлены явно, если я помню.

...