我没有使用C++的经验,所以我需要向你寻求一些帮助。
我需要一个在C++中实现的服务器,侦听TCP端口。在这个端口上,它应该只接收XML文档。我发现了几个多线程TCP socket示例,但我不知道如何处理ReadToEnd或将其转换为字符串或XML文档。
我在考虑使用与流一起工作的CodeSynthesis。但是如何将TCP套接字和流结合起来呢?
如果这听起来像个菜鸟问题,我很抱歉。但我很欣赏任何好的例子或建议。
发布于 2013-05-12 19:14:15
最后我用了
boost lib提供了一个很好的套接字抽象层和输入/输出流,可以在以后使用CodeSynthesis序列化和反序列化XML文档。
发布于 2013-05-10 20:27:02
Tcp协议本身并不提供区分不同消息的方法。它只保证订单,且不会有数据无法传送。所以由你来实现ReadToEnd函数。例如,您可以发送一些特殊的符号(首先要确保它没有出现在您的xmls中)。或者,您可以使用现有的http协议通过一个连接发送多个文档。您可以尝试http://libevent.org/ http服务器实现,并根据需要使用它。更简单的方法是使用现有的http web服务器,并使用它接收您的文档,在这种情况下,您不需要创建自己的文档。
https://stackoverflow.com/questions/16481939
复制相似问题