用于UDP的android studio byte []是多余的

时间:2015-04-15 12:51:04

标签: java android

我只想通过点击按钮使用UDP将数据发送到另一台设备(PC)。所以我为它制作了一个方法,我在其中放置U​​DP代码并在单击按钮时建立关系。但是根据IDE,包含我要发送的字符串数据的字节没有很好地创建。

以下是代码:

String argv = "WhatISend";
int port = 9268;
byte[] buffer= new byte[argv.lenght()];


try {

    InetAddress server = InetAddress.getByName("172.16.19.14");
    buffer = argv.getBytes();
    DatagramSocket socket = new DatagramSocket();
    DatagramPacket udp_emission = new DatagramPacket(buffer, buffer.length, server, port);
    socket.send(udp_emission);
    socket.close();
} catch (Exception e) {
    System.out.println("Fail socket");
}

问题出在" byte [] buffer = new byte [size];"

1 个答案:

答案 0 :(得分:1)

根据您问题的措辞,听起来您希望buffer包含原始字符串的字符。但是,实际byte数组不包含字符串数据。您向我们展示的代码只是创建一个byte数组,其长度与输入字符串相同。您尚未将单个字符分配到buffer

你可能想要的是:

buffer = argv.getBytes();

有关详细信息,请参阅String.getBytes()