private void loop()
	{
		Thread thTmp = Thread.currentThread();
		byte[] arrBytes = new byte[EzimNetwork.inBuf];
		DatagramPacket dp = new DatagramPacket(arrBytes, arrBytes.length);

		while(! thTmp.isInterrupted())
		{
			try
			{
				this.ms.receive(dp);

				final InetAddress iaAck = dp.getAddress();

				final String strAck = new String
				(
					dp.getData()
					, 0
					, dp.getLength()
					, EzimNetwork.dtxMsgEnc
				);

				EzimThreadPool etpTmp = EzimThreadPool.getInstance();
				etpTmp.execute
				(
					new Runnable()
					{
						public void run()
						{
							EzimAckSemantics.parser
							(
								iaAck
								, strAck
							);
						}
					}
				);
			}
			catch(Exception e)
			{
				if (! thTmp.isInterrupted())
					EzimLogger.getInstance().severe(e.getMessage(), e);
			}
		}
	}