有一些比较的方法
String sentence = new String(receivePacket.getData());
有一些字符串?
我尝试比较
Arrays.equals(sentence.getBytes(),new String("Hello").getBytes();)
返回错误... 我试过了
if(sentence.equals("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());
关于java - 将接收数据包与字符串 UDP 协议(protocol)进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33111679/