getImpl().receive(p);
DatagramPacket p2 = new DatagramPacket(p.getData(), p.getOffset(), p.maxlen); getImpl().receive(p2); p.length = p2.length; if (p2.getAddress() != null) p.setAddress(p2.getAddress()); if (p2.getPort() != -1) p.setPort(p2.getPort());
  public synchronized void receive(DatagramPacket p) throws IOException  {    if (isClosed())      throw new SocketException("socket is closed");    if (remoteAddress != null && remoteAddress.isMulticastAddress())      throw new IOException	("Socket connected to a multicast address my not receive");    if (getChannel() != null && ! getChannel().isBlocking()        && ! ((DatagramChannelImpl) getChannel()).isInChannelOperation())      throw new IllegalBlockingModeException();    getImpl().receive(p);		SecurityManager s = System.getSecurityManager();		if (s != null && isConnected())			s.checkAccept(p.getAddress().getHostName(), p.getPort());	}