java基于UDP协议的通信

0 篇文章 0 订阅

优点:因为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();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值