【发布时间】:2012-03-02 19:43:26
【问题描述】:
我正在使用 C++ 为专业用户编写桌面应用程序。我当前的设计依赖于第三方 C++ 组件,其 API 基于 TCP/IP。集成这个组件可能需要修改它,用传统的 C++ API 替换网络代码。
如果我可以不修改组件并以它期望的方式与它通信 - 通过网络,这会容易得多。为此,我需要将组件作为服务器运行,在某个高端口上侦听环回连接。
我对这种环回方法有两个顾虑。谁能减轻或证实我的恐惧?
可靠性和性能 环回连接可能会失败、被防病毒软件阻止或拦截。像这样:Loopback connections working in user's context but not working from Local System account
安全 我不太担心有人嗅探我的环回数据包,但我不希望我的服务器本身成为安全风险。让进程监听某个高端口是否有风险?
很多桌面应用程序都是这样运行的吗?
我最初是在 Windows 上开发,但将来可能会迁移到 Mac 和 Linux,所以这个问题适用于所有常见的桌面操作系统。
【问题讨论】:
-
这个第三方组件的本质是什么?取决于它是什么,如果它没有某种不涉及 TCP/IP 的“本地”版本,我会感到惊讶。询问您的供应商是否有非联网版本。
-
我能形容它的最好方式是“有点像网络服务器”。
标签: c++ networking tcp desktop-application loopback