java - 将接收数据包与字符串 UDP 协议(protocol)进行比较

标签 java string udp compare packet

有一些比较的方法

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/

相关文章:

java - 更喜欢非成员非友元函数......在 Java 中?

sql-server - SQL 字符串 : Counting Words inside a String

java - 带注释的剩余过滤器

java - 如何按从小到大的顺序对包含整数和字母的字符串进行排序? ( java )

regex - 从字符串中删除除空格以外的特殊字符

c# 如何建立UDP套接字连接

python - 使用 tcpdump 跳过 IP header

c++ - 读取 boost::asio UDP 广播响应

java - 在 Eclipse 中使用 ControlP5 进行处理会导致按键时出现 IllegalArgumentException

python - 理解 strip()