首页 > 其他 > 详细

udp协议接收数据,以及解决中文乱码的问题

时间:2020-09-04 10:55:50      阅读:323      评论:0      收藏:0      [点我收藏+]

需求:对接第三方的日志接口,用udp协议发送syslog日志

核心代码:

try {
//指定本机端口 用这个端口接收 别人也是给这个端口发
DatagramSocket socket = new DatagramSocket(514);
while (true){
//指定容量
byte[] bytes = new byte[1024];
//创建 接收数据的包
DatagramPacket packet = new DatagramPacket(bytes,bytes.length);
//接收数据
socket.receive(packet);

byte[] arr = packet.getData();
int length = packet.getLength();
System.out.println(new String(arr,0,length,"GBK"));
System.out.println("----------------");
}
}catch (Exception e){
e.printStackTrace();
}
接下来是中文乱码问题:(上面代码都有体现下面说的3条)
1. 发送方要用 字符串的字节长度
2. 接收方解码要和发送方的编码格式一样
3. 接收方要用实际接收的数据长度

udp协议接收数据,以及解决中文乱码的问题

原文:https://www.cnblogs.com/x-x-f/p/13612256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!