【问题标题】:Can tcp and http connection listeners can interact with each other or not?tcp 和 http 连接监听器是否可以相互交互?
【发布时间】:2011-02-05 03:31:22
【问题描述】:
有没有办法让http连接和tcp连接监听器相互交互?
我有两个独立的应用程序模块,一个通过 http 工作,另一个需要 tcp 。
我需要在这两个模块之间进行交互,所以有没有办法让我的基于 http 的模块与基于 tcp 的模块交互。
【问题讨论】:
标签:
http
tcp
connection
node.js
【解决方案1】:
首先,您需要阅读一些网络概念。 HTTP 是所谓的应用层协议,而TCP 是所谓的传输层协议。看看OSI Network Model。
例如,您可以想象TCP 是电话网络。它为您提供了与他人联系并与他们交谈的基本方法。但是,为了实际交流,您需要说相同的语言,例如英语或法语。那是应用程序级协议,在您的情况下为HTTP。
所以要回答您的问题,为了让您的两个应用程序能够通信和交换数据,它们需要使用 TCP 进行连接/呼叫并且都使用相同的语言/应用程序级别协议即HTTP。
【解决方案2】:
两个不同的进程将无法在同一个 IP 地址上使用同一个 IP 端口。因此,两个进程将无法使用来自 TCP 连接的相同传入数据流。如果他们使用不同的端口,没有问题。
如果两个进程使用相同的 IP 端口,因为 HTTP 是位于 TCP 之上的协议,这意味着您的 TCP 进程可以被 HTTP 进程用作管道。 TCP 进程将连接到 IP 端口,执行其操作,并将数据转发到将处理它的 HTTP 进程。