如何使用UDP一次发送和读取两个整数值?

时间:2014-03-28 19:01:15

标签: java android udp

我正在开发Android客户端和Java Server应用程序。我发送并收到了一个字符串,但我需要一次发送两个整数值。我应该使用整数数组只有两个整数吗?值将是这样的:int value_1 = 5; int value_2 = -10;我正在发送像这样的字符串;

Android客户端:

             command = "hello";
        dp = new DatagramPacket(command.getBytes(),command.length(), serverAddr,  this.port);
        ds.send(dp);

... PC上的Java服务器

   message= new byte[1024]; 
      dp  = new DatagramPacket(message, message.length);
      ds = new DatagramSocket(port);
   ds.receive(dp);
     receive= new String(message, 0, dp.getLength());

我搜索过这个,我没有得到任何东西。如何一次发送两个整数值,我该如何阅读呢?

1 个答案:

答案 0 :(得分:0)

我建议将整数数据序列化为json字符串,将其作为字符串发送,然后将其转换回服务器端。

以下是一个例子:

    // client side code
    int[] clientArray = { 5, -10 };
    String command = new Gson().toJson(clientArray);
    dp = new DatagramPacket(command.getBytes(), command.length(), serverAddr, this.port);
    ds.send(dp);

    // server side code
    message = new byte[1024];
    dp = new DatagramPacket(message, message.length);
    ds = new DatagramSocket(port);
    ds.receive(dp);
    receive = new String(message, 0, dp.getLength());
    int[] serverArray = new Gson().fromJson(command, int[].class);