最近接收第三方发送的UDP数据包,通过wirshark抓包后使用其原始数据(16进制),在自己写的UDPclient/server测试成功,在生产环境中,出现了接收数据乱码的问题。
基于Spring Boot 2.1.5.RELEASE,jdk 1.8开发
相关jar包:
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-ip</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
本地UDP server段代码:
import org.apache.commons.codec.DecoderException;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPSend {
public static void main(String[] args) throws IOException, DecoderException {
//UDP原始数据,自测用
String data = "01c901019dea3d5fe6006400010000000100000000800000000000000200000000800000000000000300000000800000000000000400000000800000000000000500000000800000000000000600000000800000000000000700000000800000000000000800000000800000000000000900000000800000000000000a00000000800000000000000b00000000800000000000000c00000000800000000000000d00000000800000000000000e00000000800000000000000f00000000800000000000001000000000800000000000001100000000800000000000001200000000800000000000001300000000800000000000001400000000800000000000001500000000800000000000001600000000800000000000001700000000800000000000001800000000800000000000001900000000800000000000001a00000000800000000000001b00000000800000000000001c00000000800000000000001d