public interface IoAcceptor extends IoService
IoHandler
s.
Please refer to EchoServer example.
You should bind to the desired socket address to accept incoming
connections, and then events for incoming connections will be sent to
the specified default IoHandler
.
Threads accept incoming connections start automatically when
bind()
is invoked, and stop when unbind()
is invoked.
限定符和类型 | 方法和说明 |
---|---|
void |
bind()
Binds to the default local address(es) and start to accept incoming
connections.
|
void |
bind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress... addresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress localAddress)
Binds to the specified local address and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... addresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
java.net.SocketAddress |
getDefaultLocalAddress()
Returns the default local address to bind when no argument is specified
in
bind() method. |
java.util.List<java.net.SocketAddress> |
getDefaultLocalAddresses()
Returns a
List of the default local addresses to bind when no
argument is specified in bind() method. |
java.net.SocketAddress |
getLocalAddress()
Returns the local address which is bound currently.
|
java.util.Set<java.net.SocketAddress> |
getLocalAddresses()
Returns a
Set of the local addresses which are bound currently. |
boolean |
isCloseOnDeactivation()
Returns true if and only if all clients are closed when this
acceptor unbinds from all the related local address (i.e. when the
service is deactivated).
|
IoSession |
newSession(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
(Optional) Returns an
IoSession that is bound to the specified
localAddress and the specified remoteAddress which
reuses the local address that is already bound by this service. |
void |
setCloseOnDeactivation(boolean closeOnDeactivation)
Sets whether all client sessions are closed when this acceptor unbinds
from all the related local addresses (i.e. when the service is
deactivated).
|
void |
setDefaultLocalAddress(java.net.SocketAddress localAddress)
Sets the default local address to bind when no argument is specified in
bind() method. |
void |
setDefaultLocalAddresses(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified
in
bind() method. |
void |
setDefaultLocalAddresses(java.util.List<? extends java.net.SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified
in
bind() method. |
void |
setDefaultLocalAddresses(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
Sets the default local addresses to bind when no argument is specified
in
bind() method. |
void |
unbind()
Unbinds from all local addresses that this service is bound to and stops
to accept incoming connections.
|
void |
unbind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Unbinds from the specified local addresses and stop to accept incoming
connections.
|
void |
unbind(java.net.SocketAddress localAddress)
Unbinds from the specified local address and stop to accept incoming
connections.
|
void |
unbind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
Unbinds from the specified local addresses and stop to accept incoming
connections.
|
addListener, broadcast, dispose, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, getTransportMetadata, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
java.net.SocketAddress getLocalAddress()
java.util.Set<java.net.SocketAddress> getLocalAddresses()
Set
of the local addresses which are bound currently.java.net.SocketAddress getDefaultLocalAddress()
bind()
method. Please note that the default will not be
used if any local address is specified. If more than one address are
set, only one of them will be returned, but it's not necessarily the
firstly specified address in setDefaultLocalAddresses(List)
.java.util.List<java.net.SocketAddress> getDefaultLocalAddresses()
List
of the default local addresses to bind when no
argument is specified in bind()
method. Please note that the
default will not be used if any local address is specified.void setDefaultLocalAddress(java.net.SocketAddress localAddress)
bind()
method. Please note that the default will not be used
if any local address is specified.localAddress
- The local addresses to bind the acceptor onvoid setDefaultLocalAddresses(java.net.SocketAddress firstLocalAddress, java.net.SocketAddress... otherLocalAddresses)
bind()
method. Please note that the default will not be
used if any local address is specified.firstLocalAddress
- The first local address to bind the acceptor onotherLocalAddresses
- The other local addresses to bind the acceptor onvoid setDefaultLocalAddresses(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
bind()
method. Please note that the default will not be
used if any local address is specified.localAddresses
- The local addresses to bind the acceptor onvoid setDefaultLocalAddresses(java.util.List<? extends java.net.SocketAddress> localAddresses)
bind()
method. Please note that the default will not be
used if any local address is specified.localAddresses
- The local addresses to bind the acceptor onboolean isCloseOnDeactivation()
void setCloseOnDeactivation(boolean closeOnDeactivation)
closeOnDeactivation
- true if we should close on deactivationvoid bind() throws java.io.IOException
java.io.IOException
- if failed to bindvoid bind(java.net.SocketAddress localAddress) throws java.io.IOException
localAddress
- The SocketAddress to bind tojava.io.IOException
- if failed to bindvoid bind(java.net.SocketAddress firstLocalAddress, java.net.SocketAddress... addresses) throws java.io.IOException
firstLocalAddress
- The first address to bind toaddresses
- The SocketAddresses to bind tojava.io.IOException
- if failed to bindvoid bind(java.net.SocketAddress... addresses) throws java.io.IOException
addresses
- The SocketAddresses to bind tojava.io.IOException
- if failed to bindvoid bind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses) throws java.io.IOException
localAddresses
- The local address we will be bound tojava.io.IOException
- if failed to bindvoid unbind()
disconnectOnUnbind
property
is true. This method returns silently if no local address is
bound yet.void unbind(java.net.SocketAddress localAddress)
disconnectOnUnbind
property is
true. This method returns silently if the default local
address is not bound yet.localAddress
- The local address we will be unbound fromvoid unbind(java.net.SocketAddress firstLocalAddress, java.net.SocketAddress... otherLocalAddresses)
disconnectOnUnbind
property is
true. This method returns silently if the default local
addresses are not bound yet.firstLocalAddress
- The first local address to be unbound fromotherLocalAddresses
- The other local address to be unbound fromvoid unbind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
disconnectOnUnbind
property is
true. This method returns silently if the default local
addresses are not bound yet.localAddresses
- The local address we will be unbound fromIoSession newSession(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress)
IoSession
that is bound to the specified
localAddress and the specified remoteAddress which
reuses the local address that is already bound by this service.
This operation is optional. Please throw UnsupportedOperationException
if the transport type doesn't support this operation. This operation is
usually implemented for connectionless transport types.
remoteAddress
- The remote address bound to the servicelocalAddress
- The local address the session will be bound tojava.lang.UnsupportedOperationException
- if this operation is not supportedjava.lang.IllegalStateException
- if this service is not running.java.lang.IllegalArgumentException
- if this service is not bound to the
specified localAddress.