2012-06-10 54 views
1

您有两个应用程序需要在局域网中交换它们之间的信息。第一个应用程序使用TCP进行通信,而第二个使用UDP。我们能直接链接两个应用程序吗如果你的答案是否定的,解释我们如何将它们联系起来?链接TCP应用程序和UDP应用程序

(从家庭作业)

我认为答案是否定的,我们需要使用它们之间的一些翻译或中间件。但是什么?

+0

单词_link_的选择在这里过于无用,我希望这两个应用程序的意图是能够相互通信。 –

回答

2

正如你所想的那样,你不能简单地将两种类型的连接合并为一种。 TCP是一种全状态连接,需要两台计算机建立连接, 与UDP相反,这是无状态/无连接的连接,只需一台计算机,发送和忘记样式。

如果你想让他们相互沟通,你必须有一个中间件。

的TCP应用程序应该有一个TCP客户端TCP服务器 的中间件应该有一个TCP服务器会监听TCP应用程序的客户端,并建立连接和TCP客户端即会建立与TCP应用程序服务器的连接。

现在中间件可以完全与TCP应用程序通信。

为了与UDP应用,你应该听UDP在某个端口,以监听来自UDP应用,传入的数据和发送给它通过UDP到UDP应用程序了这样做( UDP应用程序需要在该端口上侦听)

+0

很好,很清楚的答案=)非常感谢你 –

+0

这并不清楚。什么是中间件的准确? – EJP

+0

[_proxy_](http://en.wikipedia.org/wiki/Proxy_server),[_gateway_](http://en.wikipedia.org/wiki/Gateway_(电信))的术语选择不当,或者[_bridge_](http://en.wikipedia.org/wiki/Protocol_bridge)会更合适。 –

相关问题