比较接收数据包与字符串 UDP 协议

Compare receive packet with string UDP protocol

是比较

的某种方式
String sentence = new String(receivePacket.getData());

用一些字符串 ?

我尝试与

进行比较
Arrays.equals(sentence.getBytes(),new String("Hello").getBytes();)

return 错... 我试过了

if(sentence.equals("Hello"))

也不行。 我认为 receivedPacket 有问题,但数据包中的数据是相同的 像 'Hello' 对比 'Hello'

System.out.println(sentence.getBytes()+ " vs " + "Hello".getBytes());

输出-

[B@4f0e921d vs [B@459ad677
new String(packet.getData());

问题就在这里。你忽略了长度。应该是:

new String(packet.getData(), packet.getOffset(), packet.getLength());