2003-11-26 Michael Koch <konqueror@gmx.de>

* java/net/DatagramSocket.java
	(DategramSocket, bind): Moved binding code from DatagramSocket
	constructor to bind method.

From-SVN: r73952
This commit is contained in:
Michael Koch 2003-11-26 14:50:27 +00:00 committed by Michael Koch
parent 4aa74bd346
commit dddfde5fc3
2 changed files with 37 additions and 42 deletions

View File

@ -1,3 +1,9 @@
2003-11-26 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
(DategramSocket, bind): Moved binding code from DatagramSocket
constructor to bind method.
2003-11-26 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java

View File

@ -187,44 +187,8 @@ public class DatagramSocket
impl = new PlainDatagramSocketImpl();
}
if (address == null)
return;
if (! (address instanceof InetSocketAddress))
throw new SocketException("unsupported address type");
InetAddress addr = ((InetSocketAddress) address).getAddress();
int port = ((InetSocketAddress) address).getPort();
if (port < 0 || port > 65535)
throw new IllegalArgumentException("Invalid port: " + port);
SecurityManager s = System.getSecurityManager();
if (s != null)
s.checkListen(port);
if (addr == null)
addr = InetAddress.ANY_IF;
try
{
getImpl().bind(port, addr);
}
catch (SocketException exception)
{
getImpl().close();
throw exception;
}
catch (RuntimeException exception)
{
getImpl().close();
throw exception;
}
catch (Error error)
{
getImpl().close();
throw error;
}
if (address != null)
bind(address);
}
// This needs to be accessible from java.net.MulticastSocket
@ -671,14 +635,39 @@ public class DatagramSocket
if (! (address instanceof InetSocketAddress))
throw new IllegalArgumentException("unsupported address type");
InetSocketAddress tmp = (InetSocketAddress) address;
InetAddress addr = ((InetSocketAddress) address).getAddress();
int port = ((InetSocketAddress) address).getPort();
if (port < 0 || port > 65535)
throw new IllegalArgumentException("Invalid port: " + port);
SecurityManager s = System.getSecurityManager ();
if (s != null)
s.checkListen(tmp.getPort ());
s.checkListen(port);
getImpl().bind (tmp.getPort (), tmp.getAddress ());
bound = true;
if (addr == null)
addr = InetAddress.ANY_IF;
try
{
getImpl().bind(port, addr);
bound = true;
}
catch (SocketException exception)
{
getImpl().close();
throw exception;
}
catch (RuntimeException exception)
{
getImpl().close();
throw exception;
}
catch (Error error)
{
getImpl().close();
throw error;
}
}
/**