我将很快开始研究在不同机器上运行并通过网络进行通信的软件。我希望使用 HTTP 隧道进行通信,因此用户不需要打开防火墙端口。
该软件将用 C++ 编写。我的问题是我真的不知道从哪里开始寻找有关实现 HTTP 隧道的资源。
我相信我可以为此使用 WCF - 这听起来是个好主意吗?走这条路有什么优点/缺点吗?
我将很快开始研究在不同机器上运行并通过网络进行通信的软件。我希望使用 HTTP 隧道进行通信,因此用户不需要打开防火墙端口。
该软件将用 C++ 编写。我的问题是我真的不知道从哪里开始寻找有关实现 HTTP 隧道的资源。
我相信我可以为此使用 WCF - 这听起来是个好主意吗?走这条路有什么优点/缺点吗?
使用 WCF 之类的东西的好处是“通过”某些路由器的异常情况都可以为您处理。我说的是一些路由器具有的深度数据包检查,如果它看起来不像干净的 HTML,它会将您发送的材料识别为“不可接受”。
另一方面,在 C++ 中使用 WCF 可能会很有趣。大概这意味着您愿意将代码编写为 C++/CLI。
不过,我认为您会发现您对网络框架的选择是次要问题。此外,您的网络控制逻辑将消耗您的时间。如果您正在执行任何数量的异步网络通信,请确保您接受过良好的状态机工具培训。还要注意C# 端口。
ps 如果您没有将托管客户端与 WCF 一起使用,请记住您的消息必须使用 XML 属性/属性按字母顺序进行序列化。否则你会得到莫名其妙的错误。如果我记得,空值也必须明确发送。