- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
尝试将接收到的 DatagramPacket 转换为字符串,但我遇到了一个小问题。不确定最好的方法是什么。
我将要接收的数据大部分长度未知,因此我在接收端设置了一些缓冲区[1024]。问题是,假设我发送了字符串“abc”并在我的接收端执行了以下操作...
buffer = new byte[1024];
packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
buffer = packet.getData();
System.out.println("Received: "+new String(buffer));
我得到以下输出:abc[][][][]][][][].....一直到缓冲区长度。我猜最后所有的垃圾/空值都应该被忽略,所以我一定做错了什么。”我知道 buffer.length 是问题所在,因为如果我将它更改为 3(对于这个例子),我的出来就好了。
谢谢。
最佳答案
new String(buffer, 0, packet.getLength())
关于java - DatagramPacket 到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557132/
我正在使用 UDP 传输实现客户端/服务器应用程序。这是我的代码的一部分: 客户端: InetAddress serverAddress = ... int serverPort = ... Data
我需要从 DatagramPacket 2 原始数据类型和字节数组中恢复; 我需要获得一个 unsigned long long 和一个 int 作为原始数据类型...当我尝试使用 System.ar
这是在回答 BufferedWriter only works the first time 时出现的 据我对 Java Doc 的理解(网上的许多帖子都证实了这一点)DatagramPacket 不
尝试将接收到的 DatagramPacket 转换为字符串,但我遇到了一个小问题。不确定最好的方法是什么。 我将要接收的数据大部分长度未知,因此我在接收端设置了一些缓冲区[1024]。问题是,假设我发
以下代码产生“找不到合适的构造函数”错误。我无法找出原因。 try { Sock = new DatagramSocket(); Inet
因此,在寻找合适的库后,我决定创建自己的库,这是其中的一部分。 try { DatagramSocket serverSocket = new DatagramSocket(client_po
在我的 Java 应用程序中,我通过 DatagramSocket 接收 DatagramPacket。我知道数据包可以包含的最大字节数,但实际上每个数据包长度都不同(不超过最大长度)。 假设 MAX
这个问题已经有答案了: Can not access object's properties(methods) from within the run method! Java Multithread
我正在创建一个 java 多人游戏,它解决了 LAN 上客户端和服务器之间不断发送 DatagramPackets 的问题。 客户端的 DatagramSocket 将随机停止从服务器接收数据包,因此
我编写了一个 Java 线程(可运行)来基本上存储 DatagramPackets 列表,如果列表的大小 > 0,它将发送列表中的第一项。 看来,除非我在 run 方法中放置大量 sleep ,否则线
我正在编写战舰游戏,以便使用 UDP 在同一网络中的两台计算机之间进行游戏。当我做出连接时,它不会引发期望,但信息只会朝着一个方向发展。我的意思是,计算机 A 正确地将坐标发送到计算机 B,但计算机
我正在使用 DatagramPacket 和 DatagramSocket 来创建客户端/服务器情况。我有一个带有简单客户端和服务器的工作项目。客户端将向服务器发送一个序列化对象,仅此而已。 下面显示
在java库中,http://download.java.net/jdk7/archive/b123/docs/api/java/net/DatagramPacket.html 我想使用此构造函数构造
这个问题在这里已经有了答案: DatagramPacket to string (6 个答案) 关闭 6 年前。 下面的代码打印 [B@40545a60,[B@40545a60abc exp 但我想
我正在构建一个基于 UDP 的应用程序来接收和发送多个数据包。 我可以为每次发送构建一个新的 DatagramPacket,或者在我的应用程序的生命周期中回收一个实例。 重用 DatagramPack
我正在实现一个客户端-服务器程序,并希望我的客户端在等待 5 秒后没有来自服务器的 ACK-Answer,发回相同的数据包... 我是这样弄的,如果可以的话请告诉我.. dp = new Datagr
问题: 假设您的传输速度高达 10 MB/s,那么回收 DatagramPacket 对象(而不是每次发送数据包时创建一个新对象)是否是一个好主意? 故事: 我正在创建一个 LAN 文件同步应用程序,
我正在制作一个 Java 桌面应用程序,我在其中录制来自麦克风的语音,并在 LAN 中实时将此语音数据发送到另一个计算机系统,反之亦然。 我可以通过麦克风录制声音并输出到系统中的扬声器。现在使用 UD
我正在使用 Datagramsocket 和 DatagramPacket 制作一个简单的 server_client 应用程序。我想做的是:一个客户端将数据发送到服务器,服务器将这些数据发送到另一个
我是整个 UDP 的新手(因为每个人都喜欢 TCP),需要问几个关于 Java 实现的问题。 我需要有人告诉我是否: Java发送的DatagramPackets由于以下原因自动分片网络配置和数据大小
我是一名优秀的程序员,十分优秀!