由于HTTP协议对实时数据传输过于慢,为此采用UDP进行数据传输,来看看如何实现的
工具首先需要下载
下载地址
首先引入
org.springframework.integration spring-integration-ip
创建UDP服务
@Configuration
@Slf4j
public class UdpServer {
@Value("${udp.port}")
private Integer udpPort;
@Autowired
private NewLocatorService newLocatorService;
@Bean
public IntegrationFlow integrationFlow() {
log.info("UDP服务启动成功,端口号为: {}", udpPort);
return IntegrationFlows.from(Udp.inboundAdapter(udpPort)).channel("udpChannel").get();
}
@Transformer(inputChannel = "udpChannel", outputChannel = "udpFilter")
public String transformer(@Payload byte[] payload, @Headers Map headers) {
String message = new String(payload);
return message;
}
@Filter(inputChannel = "udpFilter", outputChannel = "udpRouter")
public boolean filter(String message, @Headers Map headers) {
return true;
}
@Router(inputChannel = "udpRouter")
public String router(String message, @Headers Map headers) {
return "udpHandle1";
}
@ServiceActivator(inputChannel = "udpHandle1")
public void udpMessageHandle(String message) throws Exception {
// 可以进行异步处理
log.info("message:" + message);
}
@ServiceActivator(inputChannel = "udpHandle2")
public void udpMessageHandle2(String message) throws Exception {
log.info("UDP2:" + message);
}
udp.port定义一下就好了
好了,我们测一下
可以了,传输的消息,进来了
补充一点,在接受到数据信息后,可以在udpMessageHandle中对数据进行处理,如此



