Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有C+的协议缓冲区+;客户端和C#后端? 如何通过C++或HTTP或Web服务等价连接C++前端?< /P> < P> C++通过您所选择的表单(WebService和其他)访问HTTP的暴露部分。服务器(听起来像C++)、客户机(听起来像C++)和传输。将它们分开,从最重要的开始:_C#_C++_Protocol Buffers - Fatal编程技术网

带有C+的协议缓冲区+;客户端和C#后端? 如何通过C++或HTTP或Web服务等价连接C++前端?< /P> < P> C++通过您所选择的表单(WebService和其他)访问HTTP的暴露部分。服务器(听起来像C++)、客户机(听起来像C++)和传输。将它们分开,从最重要的开始:

带有C+的协议缓冲区+;客户端和C#后端? 如何通过C++或HTTP或Web服务等价连接C++前端?< /P> < P> C++通过您所选择的表单(WebService和其他)访问HTTP的暴露部分。服务器(听起来像C++)、客户机(听起来像C++)和传输。将它们分开,从最重要的开始:,c#,c++,protocol-buffers,C#,C++,Protocol Buffers,传输:这里的重大决定是您希望数据处于何种状态。您提到协议缓冲区,所以我们说的是二进制-但可能是: 原始八位字节流(想想:从web服务器下载图像) 返回流或字节[]的SOAP web服务 相同的SOAP web服务返回MTOM 任何方法都应该有效;选择哪一种取决于可用的工具。重要的是:通过连线获得一块二进制文件 此时还需要考虑数据定义;a可以定义模式,大多数协议缓冲区实现都包含生成匹配类的工具 服务器:根据上面的选择,这将是一个处理程序(IHttpHandler)或一个web服务类。不管怎样,

传输:这里的重大决定是您希望数据处于何种状态。您提到协议缓冲区,所以我们说的是二进制-但可能是:

  • 原始八位字节流(想想:从web服务器下载图像)
  • 返回流或字节[]的SOAP web服务
  • 相同的SOAP web服务返回MTOM
任何方法都应该有效;选择哪一种取决于可用的工具。重要的是:通过连线获得一块二进制文件

此时还需要考虑数据定义;a可以定义模式,大多数协议缓冲区实现都包含生成匹配类的工具

  • 服务器:根据上面的选择,这将是一个处理程序(
    IHttpHandler
    )或一个web服务类。不管怎样,他们的工作实际上是运行一些逻辑并返回一个字节流。如何获取数据取决于你自己,那么最终的工作就是 填充DTO类型(在许多情况下是从.proto生成的,但不是严格必需的),并通过序列化API运行它,将结果写入流
  • 客户:反向相同;从.proto生成DTO,并通过反序列化API运行它

  • 下面列出了各种protobuf实现(C++、C#等)。

    您有一个示例,还是更完整的示例?我找不到。你有后端C#的例子吗,或者至少应该是这样的。为什么特别是协议缓冲区?我在这方面做了大量工作,但我只想检查一下你的推理……我正在用后端C#做MFC/C++项目。在HTTPOK上需要一些方法来实现C++与C++之间的对话;为什么不只是肥皂。。。?我要求确保我们不会把你引向错误的道路。当然,ToBuf可以帮助这个设置,特别是如果你被带宽或CPU限制,但是对于很多情况下,SOAP可能会更简单。因为所有C++ SOAP实现都是付费软件…我看到了所有这些。你是否接受贝宝编写一个开源的例子,演示了在Web服务中使用C++和C++语言?@毛茛-我真的不太擅长C++来帮助你。我可以让你看看从C#那里得到的数据。那么,它应该是从C++中解构的一个例子。有很多(iRC)C++文档,或者发布到特定的组可能会有帮助:@毛茛-基于你的“付费软件”点,关于避免SOAP,我也建议原始八位字节流是在这个案例中的方式。接下来的相关问题:你如何从MFC/C++开始HTTP传输?我不能就此提出建议。对不起,我不是C++专家。