package cn.com.sany.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* 工具类, 主动和被动发送消息所需要用到的公共方法
* 避免维护重复的代码
*
*
*/
public class UDPTool {
/**
* 得到当前的时间
*
* @return
*/
public static String getCurrentTime() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
String str = formatter.format(curDate);
return str;
}
public static String toHexString(byte[] bufIn, int bytesLen) {
if (bytesLen == -1) {
bytesLen = bufIn.length;
}
StringBuffer buff = new StringBuffer();
for (int i = 0; i < bytesLen; i++) {
buff.append(Integer.toHexString((bufIn[i]) & 0xFF) + " ");
}
return buff.toString();
}
/**
* 发送数据包
*
*/
public static void sendData(String ip, int port, byte[] data, DatagramSocket socket) {
try {
System.out.println("数据发送!");
DatagramPacket packet = new DatagramPacket(data, data.length, InetAddress.getByName(ip), port);
socket.send(packet);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 接收数据帧, 在发送端口上面进行接收
*/
public static void receiveData(DatagramSocket socket)
{
try {
byte[] buffer = new byte[65508];
DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);
System.out.println("---接收数据--");
socket.receive(packet);
byte[] data = packet.getData();
int len = packet.getLength();
String hexString = UDPTool.toHexString(data, len);
String time = UDPTool.getCurrentTime();
System.out.println("---接收到服务端的时间和数据(16)--" + time + "内容:" + hexString);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
x-teamer团队
- 粉丝: 1205
- 资源: 47
最新资源
- 基于Revel,Jquery, Xorm开发的内容管理系统详细文档+优秀项目+全部资料.zip
- 基于websocket单台机器支持百万连接分布式聊天(IM)系统详细文档+优秀项目+全部资料.zip
- 基于原生Fabric-SDK-Go 实现一个简单的学历征信系统(web项目),状态数据库使用 CouchDB 来实现详细文档+优秀项目+全部资料.zip
- 基于开源CDN系统GoEdge制作的模版UI、插件、脚本合集详细文档+优秀项目+全部资料.zip
- 2022机器人SLAM知识星球答疑手册
- DSP28335 PMSM电机控制程序
- DSP28335 BLDC电机控制程序
- MiniBalance PC上位机开发资料
- 中大型三相异步电机电磁设计软件
- PLSQL程序设计Word文档doc格式最新版本
- 一、MySQL的介绍与安装
- 25个团队建设小游戏.ppt
- 管理团队拓展游戏.doc
- 几个经典团队游戏.doc
- 企业团队建设游戏活动经典收藏.doc
- 十个团队建设游戏.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页