【问题标题】:Simplest way to send two ints over a TCP connection通过 TCP 连接发送两个整数的最简单方法
【发布时间】:2014-09-05 11:08:36
【问题描述】:

我希望能够通过 tcp 连接发送两个整数。客户端是一个 android 应用程序,它获取用户输入的坐标,然后将它们发送到 c 服务器程序。我已经设法达到了预期的结果,但效率不高。我所做的是将两个整数转换为一个用逗号分隔的字符串,然后通过 tcp 发送单个字符串。例如 int x = 12;int y = 34; 变成 String to_send = "12,34";。服务器接收到这个字符串,然后使用 strtok() 分离出坐标,并使用 atoi() 将它们转换回整数。

这给了我想要的东西,但我知道它使用的内存比所需的内存要多,因为每个字符串字符代表一个字节。我可以通过 tcp 发送一个包含两个短裤 x 和 y 的结构吗?如果是这样,您能否给我一些示例代码和一些很棒的解释。

汤姆

【问题讨论】:

  • 如果你使用输出流来发送数据,你可以使用`stream.writeInt(myint);'。并非所有流类型都有 writeInt()。所以你必须寻找合适的。抱歉不知道是哪一个。

标签: java android c tcp struct


【解决方案1】:

使用 DataOutputStream.writeInt() 或 .writeShort()。

【讨论】:

  • 是的,在 Java 中可以使用结构。那时我总是将它们声明为类。工作正常。 ;-)。
  • @greenapps 那将是一个类,而不是一个结构。
  • 结构的经典实现?
猜你喜欢
  • 1970-01-01
  • 2021-01-10
  • 2014-07-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多