我正在寻找一种在TCP / IP网络上发送std :: string的方法。它必须与平台无关。
我看过的方法是:
最简单但最强大的方法是什么?
对于服务器端和客户端函数使用给定库的一些示例代码,用于连接和传输std :: string将是惊人的!
答案 0 :(得分:1)
你最强的是什么意思?最快的 ?最简单? 服务器(例如字符串的接收者):
thewsers应该驱动你的选择。
如果您想要一些非常简单的东西,请查找"便携式telnet c ++服务器客户端",您将获得大量的库和代码示例。
但是,要回答你的问题,这里有一些便携式库:
答案 1 :(得分:0)
这个问题有点含糊不清:
a)你通过网络发送“std :: string”是什么意思?你想完全序列化这个对象,发送它并在另一侧反序列化它?或者只是发送实际文本并将其重新构建为std :: string(在我看来更简单和首选)?
b)听起来你的问题确实是“网络中有哪些平台/库?”。
对于a:如果您决定发送文本并将其重新构建为std :: string,那么您没有问题,只需将文本作为C-string发送即可。您可能希望将其包含为XML或JSON等数据格式,以确保文本正确发送。如果你想序列化std :: string,那么就没有干净的方法了。您可能希望将对象重新解释为char数组,以这种方式发送并将其写入某个内存。这不安全或简单。
对于b:那里有很多图书馆。 POCO众所周知,退出确定。 JUCE是一个简单的跨平台现代C ++平台,支持面向对象的Socket类。你可能也想使用它们。