处理字符串的正确方法是什么:Java客户端和C++服务器
What is the proper way to handle strings : Java client & C++ server
我正在编写一个运行良好的C++服务器/客户端应用程序(TCP),但我很快就必须编写一个Java客户端,显然必须与它连接到的C++服务器兼容。
至于现在,当服务器或客户端收到字符串(文本)时,它会循环访问位,直到找到"\0",这标志着字符串的结束......
问题是:在通过 Java/C++ 而不是 C++/C++ 进行通信时,以这种方式处理字符串仍然是一种好习惯吗?
你应该阅读一件事:编码。基本上,相同的字节序列可以用不同的方式解释。只要你在C++或Java中传递东西,事情就会就它们的含义达成一致,但是当使用网络(即字节流)时,你必须下定决心。如有疑问,请阅读并使用 UTF-8。
考虑使用Protocol Buffers或Thrift,而不是滚动自己的协议。
相关文章:
- Java 客户端C++服务器数据发送/接收问题
- 无法在java(客户端)的套接字上正确写入数据(类),也无法在c ++(服务器)上读取数据(类)
- 编译 Java TD 客户端时出现构建错误
- 是否可以使用InProceChannel使用Java客户端在同一过程中调用C 服务器
- TCP-Server以数据包结构(非Java客户端)发送文件
- 为C 服务器实施Java TCP客户端
- HOWTO:C 应用程序作为Web服务提供商和Java应用程序作为Web服务客户端
- 将OpenCV :: MAT Image发送到Websocket Java客户端
- C 客户端和Java服务器消息
- 将消息从C 服务器发送到Java客户端
- Java 服务器套接字,客户端采用 C 语言
- 如何连接客户端(在VirtualBox上)和服务器(在localhost上)?我使用CORBA和C++/Java
- 用于C++ Web 服务的 Java 客户端
- C++客户端到Java服务器(TCP/IP)
- 如何在 Java 服务器和客户端之间制作 CORBA C++
- 在 Java 客户端中创建 Mat 对象,使用 opencv 从C++服务器发送
- 在 CORBA 客户端/服务器应用程序中将无符号的长整型(从 C++)断言为长整型 (Java)
- C++客户端和 Java 服务器
- C++ 客户端无法与 Java 服务器通信
- c++套接字客户端在输出流关闭的情况下不断从Java服务器事件中接收一些内容