优点:因为UDP协议在传送数据之间不用在客户端和服务器段建立连接,所以传送数据的速度非常快
缺点:用户数据协议,是一个简单的面向数据报的运输层协议,UDP不提供可靠性,他只是把应用程序传给IP层的数据报发送出去,但是并不保证他能到达母的地
下面看一个基于UDP协议的事例:这里我们要做到实时监听某个端口,接收报文
// 监听线程
new Thread(new Runnable() {
public void run() {
try {
//数据服务
IFarRfidService farRfidService = (IFarRfidService)SpringBeanLoader.getSpringBean("farRfidService");
//监听到的字符串
String recvStr = "";
//获取配置文件对象
PropertiesHelper pHelper = PropertiesFactory
.getPropertiesHelper(PropertiesFile.CONFIG);
//得到端口
int port = Integer.valueOf(pHelper.getValue("socket.port",
"11111"));
byte[] recvBuf = new byte[100];
DatagramSocket server = new DatagramSocket(port);
DatagramPacket packet = new DatagramPacket(recvBuf,
recvBuf.length);
//死循环,实现监听
while (true) {
server.receive(packet);
recvStr = new String(packet.getData(), 0, packet
.getLength());
System.out.println("recvStr:" + recvStr);
//写入数据库
farRfidService.addRfid(StringHelper.convertObject(recvStr));
}
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
}
}
}).start();