Могут ли прослушиватели соединений tcp и http взаимодействовать друг с другом или нет? - PullRequest
3 голосов
/ 07 апреля 2010

Есть ли способ, с помощью которого прослушиватели http-соединения и tcp-соединения могут взаимодействовать друг с другом?

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

Ответы [ 2 ]

3 голосов
/ 08 апреля 2010

Прежде всего, вам нужно немного прочитать о сетевых концепциях. HTTP - это то, что известно как протокол прикладного уровня, тогда как TCP - это то, что известно как протокол транспортного уровня. Взгляните на сетевую модель OSI .

В качестве примера вы можете представить, что TCP - это телефонная сеть. Это дает вам основные средства для связи с другим человеком и общения с ним. Однако для того, чтобы на самом деле общаться, вам нужно говорить на одном языке, например на английском или французском. Это протокол прикладного уровня, HTTP в вашем случае.

Итак, чтобы ответить на ваш вопрос, для того, чтобы ваши два приложения могли обмениваться данными и обмениваться данными, им необходимо установить соединение / вызов, используя TCP и , говорящие на одном и том же языке / протоколе уровня приложения а именно HTTP.

2 голосов
/ 07 апреля 2010

Два разных процесса не смогут использовать один и тот же IP-порт на одном и том же IP-адресе. Таким образом, два процесса не смогут использовать один и тот же входящий поток данных, исходящих из TCP-соединения. Если они используют разные порты, проблем нет.

Если два процесса используют один и тот же IP-порт, так как HTTP - это протокол, расположенный поверх TCP, это означает, что ваш процесс TCP может использоваться процессом HTTP как канал. Процесс TCP подключится к IP-порту, выполнит свою работу и перенаправит данные в процесс HTTP, который его обработает.

...