gpt4 book ai didi

java - 如何在 C++ 和 Java 之间通过 udp 有效地发送数据数组

转载 作者:太空宇宙 更新时间:2023-11-04 12:37:36 26 4
gpt4 key购买 nike

我将通过 udp 套接字发送一个双数组。我在 Clinet 端使用 C++ 中的 Winsock 库,在服务器端使用 Java。我目前的想法是用这个双数字数据制作一个字符串并发送。但是我觉得这不合适,需要双方都转换为数值。如何更有效地发送这些数据?

我尝试了以下但收到错误““double *”类型的参数与 sendto() 函数中“const char *”类型的参数不兼容”

double arrayTosend[100] 

int sendOk = sendto(out, arrayToSend, sizeof(arrayToSend), 0, (sockaddr*)&server, sizeof(server));

最佳答案

我建议你使用 Google's Protocol Buffers用于处理数组的传输:

  • 它是一种用于在远程进程和内部进程之间序列化/反序列化消息的可靠机制。
  • 它易于使用和学习。
  • 它将生成在您的 C++ 和 Java 进程上获取和接收数组所需的代码。
  • 如果您将数组更改为不同的类型,或决定传输其他信息 - Protocol buffer 使用的消息格式将允许您轻松更改传输的数据,并将重新生成所有必需的样板代码。

关于java - 如何在 C++ 和 Java 之间通过 udp 有效地发送数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55694843/

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