处理字符串的正确方法是什么:Java客户端和C++服务器

What is the proper way to handle strings : Java client & C++ server

本文关键字:客户端 Java C++ 服务器 是什么 字符串 方法 处理      更新时间:2023-10-16

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

至于现在,当服务器或客户端收到字符串(文本)时,它会循环访问位,直到找到"\0",这标志着字符串的结束......

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

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

考虑使用Protocol Buffers或Thrift,而不是滚动自己的协议。