ServerSocket.java: Define ANY_IF.
* java/net/ServerSocket.java: Define ANY_IF. (ServerSocket (int,int)): Use ANY_IF instead of null to bind to all network interfaces. * java/net/DatagramSocket.java (DatagramSocket): ditto. * java/net/natPlainSocketImpl.cc (bind): Expect 0.0.0' instead of null. * java/net/natPlainDatagramSocketImpl (bind): Expect 0.0.0' instead of null. From-SVN: r28429
This commit is contained in:
parent
a0e4da0d17
commit
25fef12b66
7 changed files with 23 additions and 24 deletions
|
@ -2,6 +2,14 @@
|
||||||
|
|
||||||
* boehm.cc (_Jv_RegisterFinalizer): Cast `meth' to GC_PTR.
|
* boehm.cc (_Jv_RegisterFinalizer): Cast `meth' to GC_PTR.
|
||||||
* exception.cc (_Jv_Throw): Cast `_Jv_type_matcher' to __eh_matcher.
|
* exception.cc (_Jv_Throw): Cast `_Jv_type_matcher' to __eh_matcher.
|
||||||
|
* java/net/ServerSocket.java: Define ANY_IF.
|
||||||
|
(ServerSocket (int,int)): Use ANY_IF instead of null to bind to
|
||||||
|
all network interfaces.
|
||||||
|
* java/net/DatagramSocket.java (DatagramSocket): ditto.
|
||||||
|
* java/net/natPlainSocketImpl.cc (bind): Expect `0.0.0.0' instead of
|
||||||
|
null.
|
||||||
|
* java/net/natPlainDatagramSocketImpl (bind): Expect `0.0.0.0'
|
||||||
|
instead of null.
|
||||||
|
|
||||||
1999-08-01 Alexandre Oliva <oliva@dcc.unicamp.br>
|
1999-08-01 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,7 @@ call_finalizer (GC_PTR obj, GC_PTR client_data)
|
||||||
void
|
void
|
||||||
_Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *meth)
|
_Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *meth)
|
||||||
{
|
{
|
||||||
GC_REGISTER_FINALIZER_NO_ORDER (object, call_finalizer, (GC_PTR)meth,
|
GC_REGISTER_FINALIZER_NO_ORDER (object, call_finalizer, (GC_PTR) meth,
|
||||||
NULL, NULL);
|
NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ _Jv_Throw (void *value)
|
||||||
_Jv_eh_alloc ();
|
_Jv_eh_alloc ();
|
||||||
ehinfo = *(__get_eh_info ());
|
ehinfo = *(__get_eh_info ());
|
||||||
}
|
}
|
||||||
ehinfo->eh_info.match_function = (__eh_matcher)_Jv_type_matcher;
|
ehinfo->eh_info.match_function = (__eh_matcher) _Jv_type_matcher;
|
||||||
ehinfo->eh_info.language = EH_LANG_Java;
|
ehinfo->eh_info.language = EH_LANG_Java;
|
||||||
ehinfo->eh_info.version = 1;
|
ehinfo->eh_info.version = 1;
|
||||||
ehinfo->value = value;
|
ehinfo->value = value;
|
||||||
|
|
|
@ -28,12 +28,12 @@ public class DatagramSocket
|
||||||
|
|
||||||
public DatagramSocket() throws SocketException
|
public DatagramSocket() throws SocketException
|
||||||
{
|
{
|
||||||
this(0, null);
|
this(0, ServerSocket.ANY_IF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DatagramSocket(int port) throws SocketException
|
public DatagramSocket(int port) throws SocketException
|
||||||
{
|
{
|
||||||
this(port, null);
|
this(port, ServerSocket.ANY_IF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DatagramSocket(int port, InetAddress laddr) throws SocketException
|
public DatagramSocket(int port, InetAddress laddr) throws SocketException
|
||||||
|
|
|
@ -25,6 +25,10 @@ public class ServerSocket
|
||||||
static SocketImplFactory factory;
|
static SocketImplFactory factory;
|
||||||
SocketImpl impl;
|
SocketImpl impl;
|
||||||
|
|
||||||
|
static final byte[] zeros = {0,0,0,0};
|
||||||
|
/* dummy InetAddress, used to bind socket to any (all) network interfaces */
|
||||||
|
static final InetAddress ANY_IF = new InetAddress(zeros, null);
|
||||||
|
|
||||||
public ServerSocket (int port)
|
public ServerSocket (int port)
|
||||||
throws java.io.IOException
|
throws java.io.IOException
|
||||||
{
|
{
|
||||||
|
@ -34,7 +38,7 @@ public class ServerSocket
|
||||||
public ServerSocket (int port, int backlog)
|
public ServerSocket (int port, int backlog)
|
||||||
throws java.io.IOException
|
throws java.io.IOException
|
||||||
{
|
{
|
||||||
this(port, backlog, null);
|
this(port, backlog, ANY_IF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServerSocket (int port, int backlog, InetAddress bindAddr)
|
public ServerSocket (int port, int backlog, InetAddress bindAddr)
|
||||||
|
|
|
@ -101,16 +101,10 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
|
||||||
// FIXME: prob. need to do a setsockopt with SO_BROADCAST to allow multicast.
|
// FIXME: prob. need to do a setsockopt with SO_BROADCAST to allow multicast.
|
||||||
union SockAddr u;
|
union SockAddr u;
|
||||||
struct sockaddr *ptr = (struct sockaddr *) &u.address;
|
struct sockaddr *ptr = (struct sockaddr *) &u.address;
|
||||||
jbyte *bytes = NULL;
|
|
||||||
// FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
|
// FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
|
||||||
int len = 4; // Initialize for INADDR_ANY in case host is NULL.
|
jbyteArray haddress = host->address;
|
||||||
|
jbyte *bytes = elements (haddress);
|
||||||
if (host != NULL)
|
int len = haddress->length;
|
||||||
{
|
|
||||||
jbyteArray haddress = host->address;
|
|
||||||
bytes = elements (haddress);
|
|
||||||
len = haddress->length;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (len == 4)
|
if (len == 4)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,17 +71,10 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
|
||||||
{
|
{
|
||||||
union SockAddr u;
|
union SockAddr u;
|
||||||
struct sockaddr *ptr = (struct sockaddr *) &u.address;
|
struct sockaddr *ptr = (struct sockaddr *) &u.address;
|
||||||
jbyte *bytes = NULL;
|
jbyteArray haddress = host->address;
|
||||||
// FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
|
jbyte *bytes = elements (haddress);
|
||||||
int len = 4; // Initialize for INADDR_ANY in case host is NULL.
|
int len = haddress->length;
|
||||||
|
|
||||||
if (host != NULL)
|
|
||||||
{
|
|
||||||
jbyteArray haddress = host->address;
|
|
||||||
bytes = elements (haddress);
|
|
||||||
len = haddress->length;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (len == 4)
|
if (len == 4)
|
||||||
{
|
{
|
||||||
u.address.sin_family = AF_INET;
|
u.address.sin_family = AF_INET;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue