比较接收数据包与字符串 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());
是比较
的某种方式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());