Могу ли я создать собственный протокол HTTP в Delphi? - PullRequest
0 голосов
/ 16 декабря 2009

Я строю проект, используя Flash и Delphi. Во Flash мне нужно общение с Delphi. В настоящее время я использую ExternalInterface и FSCommand. Теперь мне нужно Flash-соединение с Delphi через HTTP, но для этого нужно открыть пользовательский порт в Delphi, и это может предотвратить брандмауэр пользователя. Я вижу продукт под названием F-IN-BOX, в котором может быть реализована HTTP-ссылка, например http://FLV/video.flv, тогда приложение Fash может загружать видео по этой ссылке и не влияет на Firewall.

Кто-нибудь знает, как это можно сделать?

Спасибо.

Ответы [ 3 ]

1 голос
/ 17 декабря 2009

Я не уверен, что понимаю вас.

Если вам нужно общаться из приложения Flash с приложением Delphi, возможно, вам стоит взглянуть на архитектуру RESTful.

HTTP либо на порту 80, либо у вас проблемы с брандмауэром, как вы заметили. Так что поставьте его на порт 80. Почему бы не порт 80?

0 голосов
/ 17 декабря 2009

Если вы хотите обслуживать ответы HTTP от приложения Delphi, вы можете использовать компоненты Indy и TIdHTTPServer. Вы можете свободно использовать стандартный порт 80 или любой другой порт для прослушивания вашего сервера.

Вам также понадобится формат транспортировки. Если вы ориентируетесь на Windows на стороне сервера, MSXML является хорошим выбором для обработки XML. В качестве альтернативы можно использовать JSON-анализатор для Delphi, например SuperObject или Delphi Web Objects .

Если вам не нравится, что ваше приложение работает как автономный веб-сервер, рассмотрите возможность его написания в виде приложения CGI или ISAPI.

0 голосов
/ 16 декабря 2009

Вы пробовали анализатор пакетов (WireShark) или HTTP-прокси (например, Don's Proxy ), чтобы узнать, что происходит по сети?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...