if (ch != null && !ch.isBlocking ()) throw new IllegalBlockingModeException ();
  public void send(DatagramPacket p) throws IOException  {    // JDK1.2: Don't do security checks if socket is connected; see jdk1.2 api.    SecurityManager s = System.getSecurityManager();    if (s != null)      {	InetAddress addr = p.getAddress();	if (addr.isMulticastAddress())	  s.checkMulticast(addr);	else	  s.checkConnect(addr.getHostAddress(), p.getPort());      }    // FIXME: if this is a subclass of MulticastSocket,    // use getTimeToLive for TTL val.    impl.send(p);  }