【问题标题】:How to send array of double data type over network using socket?如何使用套接字通过网络发送双数据类型的数组?
【发布时间】:2015-03-25 13:00:39
【问题描述】:

我想使用网络套接字发送一个包含多个双数据类型元素的结构。接收器可以具有不同的架构。除了将其转换为字符串之外,还有什么更好的优化方法?

【问题讨论】:

  • 你打开一个socket,调用connect()bind()取决于它是客户端还是服务器socket,使用read()write(),但要注意字节顺序。
  • 发送double 时,您需要注意的不仅仅是字节序。这里有一些信息:stackoverflow.com/questions/6084279/host-to-network-double
  • 正如@DrKoch 建议的那样,JSON 或类似的东西值得研究。

标签: c embedded-linux


【解决方案1】:

在套接字连接上,除了原始字节之外什么都没有。所以你必须做两件事:

  1. 以接收者可以理解的方式将你的 double 转换为字节。这对于双打来说相当复杂,请参阅here

  2. 发明一些字段分隔符,您可以在各个双打之间发送。

毕竟,重新发明轮子是个坏主意。您可以使用一些已建立的格式,例如 XML 或 JSON。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2016-09-16
    相关资源
    最近更新 更多