public void run() {
			try {
				while (isOpen()) {
					byte buf[] = new byte[8096];
					DatagramPacket packet = new DatagramPacket(buf, buf.length);
					socket.receive(packet);
					fireMessageArrived(packet);
				}
			} catch (IOException e) {
				Logger.getLogger(getClass().getName()).fine(e.getMessage());
			} finally {
				close();
			}
		}