公司最近需要往智能家居方面发展,需要用到UDP协议传输数据,在网上找到了一些资料,但是发现传输中文的时候有乱码的现象,经过我多番捣鼓,终于解决了这个问题,下面贴上关键代码

客户端:

 public class UDPClient {
private static final int SERVER_PORT = 6000;
private DatagramSocket dSocket = null;
private String msg;
private String ip; public UDPClient(String msg, String ip) {
super();
this.msg = msg;
this.ip = ip;
} public void send() {
try {
dSocket = new DatagramSocket();
byte[] bys = msg.getBytes();
int len = bys.length;
DatagramPacket dp = new DatagramPacket(bys, len, InetAddress.getByName(ip), SERVER_PORT);
dSocket.send(dp);
// }
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
dSocket.close();
}
}
}

服务端:

public class UDPServer implements Runnable {
private static final int PORT = 6000;
private byte[] msg = new byte[2048];
Context context; public UDPServer(Context context) {
this.context = context;
} @Override
public void run() {
DatagramSocket s;
try {
s = new DatagramSocket(PORT);
while (true) {
int len = msg.length;
DatagramPacket dp = new DatagramPacket(msg, len);
s.receive(dp);
byte[] byc = dp.getData();
int len2 = dp.getLength();
String ss = new String(byc, 0, len2);
Message msg = Message.obtain();
msg.what = 0x789;
msg.obj = ss;
MainActivity.handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

  

最新文章

  1. [翻译] Autoac 最佳实践和建议
  2. JAVA中获得一个月最大天数的方法(备忘)
  3. AJAX大文件切割上传以及带进度条。
  4. PHP学习笔记(一)
  5. Mysql --分区表(6)Hash分区
  6. Eclipse工作空间相关操作
  7. 未来十年的十三条思考(FW)
  8. rdlc 分页操作
  9. JSON和JSONP区别
  10. File Templates for web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)
  11. Swift 学习笔记(四)
  12. grid栅格布局
  13. 规划自己的生活,从使用GTD时间管理法开始
  14. 多进程和mongo的配合使用
  15. HDU - 4118 Holiday's Accommodation
  16. SCRUM站立会议模拟
  17. git 撤销本地修改
  18. MySQL Crash Course #01# Chapter 1. 2 概念. Primary key
  19. Loadrunner通过吞吐量计算每个用户需要的带宽
  20. delphi 手机振动 IOS Android

热门文章

  1. LINUX应用开发(面试)
  2. 初识 Dubbo
  3. GeoTrust 企业(OV)型 增强版(EV) SSL证书
  4. 洛谷 P4198 BZOJ 2957 楼房重建
  5. Fedora15下安装Android开发环境
  6. const关键字作用
  7. hdu_1061_Rightmost Digit_201311071851
  8. F2BPM 开发Api与RESTfull应用服务Api 层次关系及示例
  9. source 命令的用法,是在当前bash环境下执行脚本文件
  10. Rails 教程