java - 关于如何在套接字上等待未知长度的数据包,并尽可能高效地对其有效负载字节进行一些处理,有什么建议吗?

标签 java sockets udp byte datagram

我需要编写一个 UDP 服务器,它将等待来自不相关设备(最多 10000 个)的数据包定期发送小数据包;对有效载荷进行一些处理并将结果写入 SQL。现在我通过 jdbc 完成了 SQL 部分,但是有效负载字节一直困扰着我,我应该如何访问它们?到目前为止,我一直使用映射到字符串的有效负载,然后将字符串转换为十六进制(两个十六进制字符代表一个字节)。我知道有更好的方法可以做到这一点,但我不知道...

最佳答案

您不只是想创建一个 DatagramSocket 并在其上接收 DatagramPacket 吗?

您需要根据用于创建数据包的缓冲区来指定数据包的最大长度,但随后您将能够找出实际有多少数据em> 使用 getLength() 在数据包中发送。

参见 Java Tutorial了解更多详情和示例。

关于java - 关于如何在套接字上等待未知长度的数据包,并尽可能高效地对其有效负载字节进行一些处理,有什么建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274804/

相关文章:

c - 获取自己的蓝牙地址

Java 网络 - 连接两台计算机

c - UDP 缓冲区溢出而没有填充接收缓冲区?

java - Android Realm 关系返回 null

C: 通过 execl 传递套接字连接

ios - 是否可以在不使用 ffmpeg 的情况下使用 iOS AVPlayer 播放远程 mp4?

java - 为什么我的程序卡在 DatagramPacket.getData() 的 system.out.print 上

java - JAX-RS 请求获取自定义对象

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - Java 的 charAt() 错误