gpt4 book ai didi

Java 客户端通过 TCP 连接与 C++ 服务器通信

转载 作者:行者123 更新时间:2023-11-28 08:18:18 24 4
gpt4 key购买 nike

我是网络新手,所以希望我能够解释我的问题。

我的老板最近为我制作了一个虚拟服务器来测试我的应用程序的网络,我遇到了有关 java 到 c++ 的问题。他的服务器是用 C++ 编写的,在运行时,它会等待并监听一个名为“RemoteMsgStruct”的特定 C++ 数据结构:

typedef struct
{
unsigned int Length;
unsigned int BoardType;
unsigned int MsgType;
unsigned char Msg[MAX_MSG_SIZE];
} RemoteMsgStruct;

问题在于我的程序是用java写的。我将如何通过 java 传递类似的消息供服务器处理?

提前感谢您的帮助。如果有任何解释不够充分或似乎遗漏的内容,请告诉我。就像我说的,我是网络和 stackoverflow 的新手:)

最佳答案

你可以准确的通过你老板的测试程序所期望的数据,而不需要你的老板修改它。

在 Java 端,您可以通过多种方法在 C++ 结构定义的布局中写入数据,包括:* java.io.DataOutputStream* java.nio.ByteBuffer 和 java.nio.channels.SocketChannel。

您可能会遇到字段对齐和字节顺序的问题。* C 结构中的某些字段可能在填充后开始以与字边界对齐。* Java默认会写网络字节顺序(big-endian)。在 Java 端,ByteBuffer 允许选择不同的顺序。

关于Java 客户端通过 TCP 连接与 C++ 服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com