gnu.java.net.local

Class LocalServerSocket


public final class LocalServerSocket
extends ServerSocket

Constructor Summary

LocalServerSocket()
Constructor that simply sets the implementation.
LocalServerSocket(SocketAddress bindPoint)

Method Summary

Socket
accept()
Accepts a new connection and returns a connected Socket instance representing that connection.
void
bind(SocketAddress bindPoint)
Binds the server socket to a specified socket address
void
bind(SocketAddress bindPoint, int backlog)
Binds the server socket to a specified socket address
void
close()
Closes this socket and stops listening for connections
InetAddress
getInetAddress()
This method returns the local address to which this socket is bound
int
getLocalPort()
This method returns the local port number to which this socket is bound
SocketAddress
getLocalSocketAddress()
Returns the local socket address
int
getReceiveBufferSize()
This method returns the value of the system level socket option SO_RCVBUF, which is used by the operating system to tune buffer sizes for data transfers.
boolean
getReuseAddress()
Checks if the SO_REUSEADDR option is enabled
int
getSendBufferSize()
int
getSoTimeout()
Retrieves the current value of the SO_TIMEOUT setting.
boolean
isBound()
Returns true when the socket is bound, otherwise false
boolean
isClosed()
Returns true if the socket is closed, otherwise false
void
setReceiveBufferSize(int size)
This method sets the value for the system level socket option SO_RCVBUF to the specified value.
void
setReuseAddress(boolean b)
Enables/Disables the SO_REUSEADDR option
void
setSendBufferSize(int size)
void
setSoTimeout(int timeout)
Sets the value of SO_TIMEOUT.
String
toString()
Returns the value of this socket as a String.

Methods inherited from class java.net.ServerSocket

accept, bind, bind, close, getChannel, getInetAddress, getLocalPort, getLocalSocketAddress, getReceiveBufferSize, getReuseAddress, getSoTimeout, implAccept, isBound, isClosed, setReceiveBufferSize, setReuseAddress, setSoTimeout, setSocketFactory, toString

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

LocalServerSocket

public LocalServerSocket()
            throws IOException
Constructor that simply sets the implementation.
Throws:
IOException - If an error occurs

LocalServerSocket

public LocalServerSocket(SocketAddress bindPoint)
            throws IOException

Method Details

accept

public Socket accept()
            throws IOException
Accepts a new connection and returns a connected Socket instance representing that connection. This method will block until a connection is available.
Overrides:
accept in interface ServerSocket
Returns:
socket object for the just accepted connection
Throws:
IOException - If an error occurs
SecurityException - If a security manager exists and its checkListen method doesn't allow the operation
IllegalBlockingModeException - If this socket has an associated channel, and the channel is in non-blocking mode

bind

public void bind(SocketAddress bindPoint)
            throws IOException
Binds the server socket to a specified socket address
Overrides:
bind in interface ServerSocket
Parameters:
Throws:
IOException - If an error occurs
IllegalArgumentException - If address type is not supported
SecurityException - If a security manager exists and its checkListen method doesn't allow the operation
Since:
1.4

bind

public void bind(SocketAddress bindPoint,
                 int backlog)
            throws IOException
Binds the server socket to a specified socket address
Overrides:
bind in interface ServerSocket
Parameters:
backlog - The length of the pending connection queue
Throws:
IOException - If an error occurs
IllegalArgumentException - If address type is not supported
SecurityException - If a security manager exists and its checkListen method doesn't allow the operation
Since:
1.4

close

public void close()
            throws IOException
Closes this socket and stops listening for connections
Overrides:
close in interface ServerSocket
Throws:
IOException - If an error occurs

getInetAddress

public InetAddress getInetAddress()
This method returns the local address to which this socket is bound
Overrides:
getInetAddress in interface ServerSocket
Returns:
The socket's local address

getLocalPort

public int getLocalPort()
This method returns the local port number to which this socket is bound
Overrides:
getLocalPort in interface ServerSocket
Returns:
The socket's port number

getLocalSocketAddress

public SocketAddress getLocalSocketAddress()
Returns the local socket address
Overrides:
getLocalSocketAddress in interface ServerSocket
Returns:
the local socket address, null if not bound
Since:
1.4

getReceiveBufferSize

public int getReceiveBufferSize()
This method returns the value of the system level socket option SO_RCVBUF, which is used by the operating system to tune buffer sizes for data transfers.
Overrides:
getReceiveBufferSize in interface ServerSocket
Returns:
The receive buffer size.
Since:
1.4

getReuseAddress

public boolean getReuseAddress()
Checks if the SO_REUSEADDR option is enabled
Overrides:
getReuseAddress in interface ServerSocket
Returns:
true if SO_REUSEADDR is set, false otherwise
Since:
1.4

getSendBufferSize

public int getSendBufferSize()

getSoTimeout

public int getSoTimeout()
Retrieves the current value of the SO_TIMEOUT setting. A value of 0 implies that SO_TIMEOUT is disabled (ie, operations never time out). This is the number of milliseconds a socket operation can block before an InterruptedIOException is thrown.
Overrides:
getSoTimeout in interface ServerSocket
Returns:
The value of SO_TIMEOUT
Since:
1.1

isBound

public boolean isBound()
Returns true when the socket is bound, otherwise false
Overrides:
isBound in interface ServerSocket
Returns:
true if socket is bound, false otherwise
Since:
1.4

isClosed

public boolean isClosed()
Returns true if the socket is closed, otherwise false
Overrides:
isClosed in interface ServerSocket
Returns:
true if socket is closed, false otherwise
Since:
1.4

setReceiveBufferSize

public void setReceiveBufferSize(int size)
This method sets the value for the system level socket option SO_RCVBUF to the specified value. Note that valid values for this option are specific to a given operating system.
Overrides:
setReceiveBufferSize in interface ServerSocket
Parameters:
size - The new receive buffer size.
Throws:
IllegalArgumentException - If size is 0 or negative
Since:
1.4

setReuseAddress

public void setReuseAddress(boolean b)
Enables/Disables the SO_REUSEADDR option
Overrides:
setReuseAddress in interface ServerSocket
Parameters:
Since:
1.4

setSendBufferSize

public void setSendBufferSize(int size)

setSoTimeout

public void setSoTimeout(int timeout)
Sets the value of SO_TIMEOUT. A value of 0 implies that SO_TIMEOUT is disabled (ie, operations never time out). This is the number of milliseconds a socket operation can block before an InterruptedIOException is thrown.
Overrides:
setSoTimeout in interface ServerSocket
Parameters:
timeout - The new SO_TIMEOUT value
Since:
1.1

toString

public String toString()
Returns the value of this socket as a String.
Overrides:
toString in interface ServerSocket
Returns:
This socket represented as a String.

LocalServerSocket.java -- a unix domain server socket. Copyright (C) 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.