UDP数据报发送 接受 处理

在项目中对接第三方API,通过UDP接收大量GPS轨迹数据,使用异步多线程方式处理。数据暂存于LinkedBlockingQueue,然后解析并入库或存入Kafka。本文介绍了发送、接收及异步处理数据的实现。
摘要由CSDN通过智能技术生成

一.场景

之前在项目中接触到对接第三方API接口,需要获取对方的UDP数据报信息,数据GPS轨迹信息,所以数据量较大,并且还得对数据报进行解析,再将解析后的数据入库,存入Kafka,所以我们采用了异步多线程获取数据和消费数据的方法。异步处理中采用LinkedBlockingQueue作为队列,暂存数据包待消费。以下是demo

 
 

二.发送数据

项目中只需要接受客户端发送的数据,并没有用到此处的发送端。为了该功能学习也是写了一下发送端代码:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class SendUdp {
    //发送端
    public static  void send() throws IOException, InterruptedException {
        //得到目标的机器地址
        InetAddress inetAddress=InetAddress.getByName("10.73.243.124");
        //设置发送端端口,需与接受端端口一致,以便正确接收
        DatagramSocket ds = new DatagramSocket(8800);
        String data="111111111111";
        //将数据转化为byte[]形式,用于发送
        byte[] bytes=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值