0

我正在编写一个运行良好的 C++ 服务器/客户端应用程序 (TCP),但我很快将不得不编写一个 Java 客户端,它显然必须与它所连接的 C++ 服务器兼容。

至于现在,当服务器或客户端接收到字符串(文本)时,它会循环遍历这些位,直到找到一个 '\0',这标志着字符串的结尾......

这是一个问题:在通过 Java/C++ 而不是 C++/C++ 进行通信时,以这种方式处理字符串仍然是一种好习惯吗?

4

2 回答 2

2

您应该阅读一件事:编码。基本上,可以用不同的方式解释相同的字节序列。只要你用 C++ 或 Java 传递事物,事物的含义就会一致,但是当使用网络(即字节流)时,你必须下定决心。如果有疑问,请阅读并使用 UTF-8。

于 2013-01-24T21:51:20.210 回答
0

考虑使用Protocol BuffersThrift而不是滚动您自己的协议。

于 2013-01-24T21:51:07.053 回答