您的位置:首页 > 编程语言 > Java开发

java基于UDP协议的通信

2013-01-07 15:33 776 查看
优点:因为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();


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: