|
QuickServer v1.4.6 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.quickserver.net.server.impl.BasicClientHandler
Basic implementation of ClientHandler that handles clients for QuickServer.
This class is used by QuickServer
to handle each new client
connected. This class is responsible to handle client sockets. It can operate
in both blocking mode and non-blocking mode (java nio).
Contributions By: Martin Benns : BYTE Mode
Field Summary | |
protected java.util.logging.Logger |
appLogger
|
protected Authenticator |
authenticator
|
protected boolean |
authorised
Client authorisation status |
protected java.io.BufferedInputStream |
b_in
|
protected java.io.BufferedOutputStream |
b_out
|
protected java.io.BufferedReader |
bufferedReader
|
protected java.lang.String |
charset
|
protected ClientAuthenticationHandler |
clientAuthenticationHandler
|
protected ClientBinaryHandler |
clientBinaryHandler
|
protected ClientCommandHandler |
clientCommandHandler
|
protected java.util.Date |
clientConnectedTime
|
protected ClientData |
clientData
|
protected ClientEventHandler |
clientEventHandler
|
protected java.util.Set |
clientEvents
|
protected ClientExtendedEventHandler |
clientExtendedEventHandler
|
protected ClientObjectHandler |
clientObjectHandler
|
protected boolean |
closeOrLostNotified
|
protected boolean |
communicationLogging
|
protected boolean |
connection
|
protected int |
counAuthTry
Count of client login attempts |
protected DataMode |
dataModeIN
|
protected DataMode |
dataModeOUT
|
protected java.io.InputStream |
in
|
protected java.util.Date |
lastCommunicationTime
|
protected java.lang.Object |
lockObj
|
protected boolean |
lost
|
protected int |
maxAuthTry
max allowed login attempts |
protected java.lang.String |
maxAuthTryMsg
Message to be displayed when max login attempt reaches. |
protected java.lang.String |
maxConnectionMsg
|
protected static java.lang.String |
NEW_LINE
|
protected static byte[] |
NEW_LINE_BYTES
|
protected java.io.ObjectInputStream |
o_in
|
protected java.io.ObjectOutputStream |
o_out
|
protected java.io.OutputStream |
out
|
protected QuickServer |
quickServer
|
protected boolean |
secure
|
protected java.net.Socket |
socket
Client socket |
protected int |
socketTimeout
|
protected static java.lang.ThreadLocal |
threadEvent
|
protected java.lang.String |
timeoutMsg
timeout message |
protected java.util.List |
unprocessedClientEvents
|
protected boolean |
willClean
|
Constructor Summary | |
BasicClientHandler()
|
|
BasicClientHandler(int instanceCount)
|
Method Summary | |
void |
addEvent(ClientEvent event)
Adds the ClientEvent. |
protected void |
assertionSystemExit()
|
protected void |
checkDataModeSet(DataMode dataMode,
DataType dataType)
|
void |
clean()
|
abstract void |
closeConnection()
Closes client socket associated. |
protected void |
finalize()
|
void |
forceClose()
Force the closing of the client by closing the associated socket. |
java.util.logging.Logger |
getAppLogger()
Returns client SelectionKey associated, if any. |
java.io.BufferedInputStream |
getBufferedInputStream()
Returns the BufferedInputStream associated with
the Client being handled. |
java.io.BufferedOutputStream |
getBufferedOutputStream()
Returns the BufferedOutputStream associated with
the Client being handled. |
abstract java.io.BufferedReader |
getBufferedReader()
Returns the BufferedReader associated with
the Client being handled. |
java.io.BufferedWriter |
getBufferedWriter()
Deprecated. since 1.4.5 use getOutputStream() |
java.lang.String |
getCharset()
Returns Charset to be used for String decoding and encoding.. |
java.util.Date |
getClientConnectedTime()
Returns the date/time when the client socket was assigned to this ClientHanlder. |
ClientData |
getClientData()
Returns the ClientData object associated with this ClientHandler, if not set will return null |
protected static java.lang.String |
getClientIdentifiable(ClientHandler foundClientHandler)
|
boolean |
getCommunicationLogging()
Returns the communication logging flag. |
java.sql.Connection |
getConnection(java.lang.String id)
Deprecated. as of v1.4.5 use getServer().getDBPoolUtil().getConnection(id) |
DataMode |
getDataMode(DataType dataType)
Returns the DataMode of the ClientHandler for the
DataType. |
java.lang.String |
getHostAddress()
Returns cached socket host ip address. |
java.io.InputStream |
getInputStream()
Returns the InputStream associated with
the Client being handled. |
java.util.Date |
getLastCommunicationTime()
Returns the date/time when the client socket last sent a data to this ClientHanlder. |
java.lang.String |
getMaxConnectionMsg()
Returns message to be displayed to the client when maximum connection reaches. |
java.lang.String |
getName()
Returns the ClientHandler name |
java.io.ObjectInputStream |
getObjectInputStream()
Returns the ObjectInputStream associated with
the Client being handled. |
java.io.ObjectOutputStream |
getObjectOutputStream()
Returns the ObjectOutputStream associated with
the Client being handled. |
java.io.OutputStream |
getOutputStream()
Returns the OutputStream associated with
the Client being handled. |
abstract java.nio.channels.SelectionKey |
getSelectionKey()
Returns client SelectionKey associated, if any. |
QuickServer |
getServer()
Returns the QuickServer object that created it. |
java.net.Socket |
getSocket()
Returns client socket associated. |
abstract java.nio.channels.SocketChannel |
getSocketChannel()
Returns client socket channel associated, if any. |
protected ClientEvent |
getThreadEvent()
Returns threads current event for this client. |
int |
getTimeout()
Returns the Client socket timeout in milliseconds. |
boolean |
getWillClean()
|
void |
handleClient(TheClient theClient)
Associates the ClientHanlder with the client encapsulated by theClient . |
protected void |
handleTimeout(java.net.SocketTimeoutException e)
|
boolean |
hasEvent(ClientEvent event)
Checks if this client has the event. |
java.lang.String |
info()
Returns the ClientHandler detailed information. |
boolean |
isClientEventNext(ClientEvent clientEvent)
Checks if the passed ClientEvent is the one next for processing if a thread is allowed through this object. |
boolean |
isClosed()
Checks if the client is closed. |
boolean |
isConected()
Deprecated. since 1.4.5 Use isConnected() |
boolean |
isConnected()
Checks if the client is still connected. |
boolean |
isOpen()
Checks if the client is still connected and if socket is open. |
boolean |
isSecure()
Returns flag indicating if the client is connected in secure mode (SSL or TLS). |
void |
makeSecure()
Makes current Client connection to secure protocol based on the secure configuration set to the server. |
void |
makeSecure(boolean useClientMode,
boolean needClientAuth,
boolean autoClose,
java.lang.String protocol)
Makes current Client connection to secure protocol. |
void |
makeSecure(java.lang.String protocol)
Makes current Client connection to secure protocol. |
protected void |
notifyCloseOrLost()
|
protected void |
prepareForRun()
|
protected AuthStatus |
processAuthorisation()
|
protected void |
processMaxConnection(ClientEvent currentEvent)
|
byte[] |
readBinary()
Read the binary input. |
java.lang.String |
readBytes()
Read the byte input. |
protected abstract byte[] |
readInputStream()
Read the byte input. |
protected static byte[] |
readInputStream(java.io.InputStream _in)
|
abstract void |
registerForRead()
Register OP_READ with the SelectionKey associated with the channel. |
abstract void |
registerForWrite()
Register OP_WRITE with the SelectionKey associated with the channel. |
void |
removeEvent(ClientEvent event)
Removes the ClientEvent. |
protected void |
returnClientData()
|
protected void |
returnClientHandler()
|
abstract void |
run()
|
void |
sendClientBinary(byte[] data)
Send a binary data to the connected client. |
void |
sendClientBinary(byte[] data,
int off,
int len)
Send a binary data to the connected client. |
void |
sendClientBytes(java.lang.String msg)
Send a String message to the connected client as a string of bytes. |
void |
sendClientMsg(java.lang.String msg)
Send a String message to the connected client it adds a new line{\r\n} to the end of the string. |
void |
sendClientObject(java.lang.Object msg)
Send a Object message to the connected client. |
void |
sendSystemMsg(java.lang.String msg)
Send a String message to the logger associated with QuickServer.getAppLogger() with Level.INFO as its level. |
void |
sendSystemMsg(java.lang.String msg,
boolean newline)
Deprecated. Use sendSystemMsg(java.lang.String) ,
since it uses Logging. |
void |
sendSystemMsg(java.lang.String msg,
java.util.logging.Level level)
Send a String message to the logger associated with QuickServer.getAppLogger() . |
protected void |
setAuthenticator(Authenticator authenticator)
Sets the Authenticator class that handles the authentication of a client. |
void |
setCharset(java.lang.String charset)
Sets the Charset to be used for String decoding and encoding. |
protected void |
setClientAuthenticationHandler(ClientAuthenticationHandler clientAuthenticationHandler)
Sets the ClientAuthenticationHandler class that handles the authentication of a client. |
protected void |
setClientBinaryHandler(ClientBinaryHandler handler)
Sets the ClientBinaryHandler class that interacts with client sockets. |
protected void |
setClientCommandHandler(ClientCommandHandler handler)
Sets the ClientCommandHandler class that interacts with client sockets. |
protected void |
setClientData(ClientData data)
Sets the ClientData object associated with this ClientHandler |
protected void |
setClientEventHandler(ClientEventHandler handler)
Sets the ClientEventHandler class that gets notified of client events. |
protected void |
setClientExtendedEventHandler(ClientExtendedEventHandler handler)
Sets the ClientExtendedEventHandler class that gets notified of extended client events. |
protected void |
setClientObjectHandler(ClientObjectHandler handler)
Sets the ClientObjectHandler class that interacts with client sockets. |
protected abstract void |
setClientWriteHandler(ClientWriteHandler handler)
Sets the ClientWriteHandler class that interacts with client sockets. |
void |
setCommunicationLogging(boolean communicationLogging)
Sets the communication logging flag. |
abstract void |
setDataMode(DataMode dataMode,
DataType dataType)
Sets the DataMode for the ClientHandler
Note: When mode is DataMode.OBJECT and type is DataType.IN
this call will block until the client ObjectOutputStream has
written and flushes the header. |
protected abstract void |
setInputStream(java.io.InputStream in)
Sets the InputStream associated with
the Client being handled. |
void |
setMaxConnectionMsg(java.lang.String msg)
Sets message to be displayed when maximum connection reaches. |
void |
setOutputStream(java.io.OutputStream out)
Set the OutputStream associated with
the Client being handled. |
void |
setSecure(boolean secure)
Sets flag indicating if the client is connected in secure mode (SSL or TLS). |
abstract void |
setSelectionKey(java.nio.channels.SelectionKey selectionKey)
Sets client SelectionKey associated, if any. |
protected void |
setServer(QuickServer server)
Sets the QuickServer object associated with this ClientHandler. |
void |
setSocket(java.net.Socket socket)
Returns client socket associated. |
abstract void |
setSocketChannel(java.nio.channels.SocketChannel socketChannel)
Sets client socket channel associated, if any. |
void |
setTimeout(int time)
Sets the client socket's timeout. |
java.lang.String |
toString()
Returns the ClientHandler information. |
abstract void |
updateInputOutputStreams()
Updates the InputStream and OutputStream for the ClientHandler for the set Socket. |
void |
updateLastCommunicationTime()
Updates the last communication time for this client |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected static final java.lang.String NEW_LINE
protected static final byte[] NEW_LINE_BYTES
protected java.net.Socket socket
protected volatile boolean authorised
protected int counAuthTry
protected int maxAuthTry
protected java.lang.String timeoutMsg
protected java.lang.String maxAuthTryMsg
protected int socketTimeout
protected volatile boolean connection
protected boolean lost
protected QuickServer quickServer
protected Authenticator authenticator
protected ClientAuthenticationHandler clientAuthenticationHandler
protected ClientEventHandler clientEventHandler
protected ClientExtendedEventHandler clientExtendedEventHandler
protected ClientCommandHandler clientCommandHandler
protected ClientObjectHandler clientObjectHandler
protected ClientBinaryHandler clientBinaryHandler
protected ClientData clientData
protected java.io.InputStream in
protected java.io.OutputStream out
protected java.io.BufferedReader bufferedReader
protected java.io.ObjectOutputStream o_out
protected java.io.ObjectInputStream o_in
protected java.io.BufferedInputStream b_in
protected java.io.BufferedOutputStream b_out
protected java.util.logging.Logger appLogger
protected DataMode dataModeIN
protected DataMode dataModeOUT
protected boolean communicationLogging
protected java.util.Date clientConnectedTime
protected java.util.Date lastCommunicationTime
protected boolean secure
protected static final java.lang.ThreadLocal threadEvent
protected java.lang.String maxConnectionMsg
protected java.util.Set clientEvents
protected java.util.List unprocessedClientEvents
protected volatile boolean closeOrLostNotified
protected java.lang.Object lockObj
protected volatile boolean willClean
protected java.lang.String charset
Constructor Detail |
public BasicClientHandler(int instanceCount)
public BasicClientHandler()
Method Detail |
public void clean()
clean
in interface ClientHandler
protected void finalize() throws java.lang.Throwable
java.lang.Throwable
public void handleClient(TheClient theClient)
theClient
.
handleClient
in interface ClientHandler
theClient
- object that encapsulates client socket
and its configuration details.public QuickServer getServer()
getServer
in interface ClientHandler
setServer(org.quickserver.net.server.QuickServer)
protected void setServer(QuickServer server)
getServer()
protected void setClientData(ClientData data)
ClientData
,
getClientData()
public ClientData getClientData()
null
getClientData
in interface ClientHandler
ClientData
,
setClientData(org.quickserver.net.server.ClientData)
protected void setClientAuthenticationHandler(ClientAuthenticationHandler clientAuthenticationHandler)
clientAuthenticationHandler
- fully qualified name of the class that
implements ClientAuthenticationHandler
.protected void setAuthenticator(Authenticator authenticator)
authenticator
- fully qualified name of the class that
implements Authenticator
.public java.io.InputStream getInputStream()
InputStream
associated with
the Client being handled.
getInputStream
in interface ClientHandler
setInputStream(java.io.InputStream)
protected abstract void setInputStream(java.io.InputStream in) throws java.io.IOException
InputStream
associated with
the Client being handled.
java.io.IOException
getInputStream()
public java.io.OutputStream getOutputStream()
OutputStream
associated with
the Client being handled.
getOutputStream
in interface ClientHandler
setOutputStream(java.io.OutputStream)
public void setOutputStream(java.io.OutputStream out) throws java.io.IOException
OutputStream
associated with
the Client being handled.
setOutputStream
in interface ClientHandler
java.io.IOException
- if ObjectOutputStream could not be created.getOutputStream()
public abstract java.io.BufferedReader getBufferedReader()
BufferedReader
associated with
the Client being handled. Note that this is only available under blocking mode.
getBufferedReader
in interface ClientHandler
getBufferedWriter()
public java.io.BufferedWriter getBufferedWriter()
BufferedWriter
associated with
the Client being handled.
getBufferedWriter
in interface ClientHandler
public java.io.ObjectOutputStream getObjectOutputStream()
ObjectOutputStream
associated with
the Client being handled.
It will be null
if no ClientObjectHandler
was set in QuickServer
.
getObjectOutputStream
in interface ClientHandler
getObjectInputStream()
public java.io.ObjectInputStream getObjectInputStream()
ObjectInputStream
associated with
the Client being handled.
It will be null
if no ClientObjectHandler
was set in QuickServer
.
getObjectInputStream
in interface ClientHandler
getObjectOutputStream()
protected void setClientEventHandler(ClientEventHandler handler)
protected void setClientExtendedEventHandler(ClientExtendedEventHandler handler)
protected void setClientCommandHandler(ClientCommandHandler handler)
protected void setClientObjectHandler(ClientObjectHandler handler)
handler
- fully qualified name of the class that
implements ClientObjectHandler
public abstract void closeConnection()
closeConnection
in interface ClientHandler
public java.net.Socket getSocket()
getSocket
in interface ClientHandler
public void setSocket(java.net.Socket socket)
setSocket
in interface ClientHandler
updateInputOutputStreams()
public boolean isConected() throws java.net.SocketException
isConnected()
isConected
in interface ClientHandler
java.net.SocketException
- if Socket is not open.public boolean isConnected() throws java.net.SocketException
isConnected
in interface ClientHandler
java.net.SocketException
- if Socket is not open.public boolean isOpen()
isOpen
in interface ClientHandler
public boolean isClosed()
isClosed
in interface ClientHandler
public void sendClientMsg(java.lang.String msg) throws java.io.IOException
sendClientMsg
in interface ClientHandler
java.io.IOException
- if Socket IO Error or Socket was closed by the client.public void sendClientBytes(java.lang.String msg) throws java.io.IOException
sendClientBytes
in interface ClientHandler
java.io.IOException
- if Socket IO Error or Socket was closed by the client.public void sendClientObject(java.lang.Object msg) throws java.io.IOException
sendClientObject
in interface ClientHandler
java.io.IOException
- if Socket IO Error or Socket was closed
by the client.
java.lang.IllegalStateException
- if DataType.OUT is not in
DataMode.OBJECTsetDataMode(org.quickserver.net.server.DataMode, org.quickserver.net.server.DataType)
public void sendSystemMsg(java.lang.String msg)
QuickServer.getAppLogger()
with Level.INFO as its level.
sendSystemMsg
in interface ClientHandler
public void sendSystemMsg(java.lang.String msg, java.util.logging.Level level)
QuickServer.getAppLogger()
.
sendSystemMsg
in interface ClientHandler
public void sendSystemMsg(java.lang.String msg, boolean newline)
sendSystemMsg(java.lang.String)
,
since it uses Logging.
sendSystemMsg
in interface ClientHandler
newline
- indicates if new line required at the end.public abstract void run()
run
in interface ClientHandler
protected void prepareForRun() throws java.net.SocketException, java.io.IOException
java.net.SocketException
java.io.IOException
protected void processMaxConnection(ClientEvent currentEvent) throws java.io.IOException
java.io.IOException
protected AuthStatus processAuthorisation() throws java.net.SocketException, java.io.IOException, AppException
java.net.SocketException
java.io.IOException
AppException
protected void notifyCloseOrLost() throws java.io.IOException
java.io.IOException
protected void returnClientData()
protected void returnClientHandler()
public java.lang.String getName()
getName
in interface ClientHandler
public java.lang.String info()
info
in interface ClientHandler
public java.lang.String toString()
toString
in interface ClientHandler
protected static java.lang.String getClientIdentifiable(ClientHandler foundClientHandler)
public abstract void setDataMode(DataMode dataMode, DataType dataType) throws java.io.IOException
DataMode
for the ClientHandler
Note: When mode is DataMode.OBJECT and type is DataType.IN
this call will block until the client ObjectOutputStream has
written and flushes the header.
setDataMode
in interface ClientHandler
dataMode
- mode of data exchange - String or Object.dataType
- type of data for which mode has to be set.
java.io.IOException
- if mode could not be changed.protected void checkDataModeSet(DataMode dataMode, DataType dataType)
public DataMode getDataMode(DataType dataType)
DataMode
of the ClientHandler for the
DataType.
getDataMode
in interface ClientHandler
public java.sql.Connection getConnection(java.lang.String id) throws java.lang.Exception
getServer().getDBPoolUtil().getConnection(id)
Connection
object for the
DatabaseConnection that is identified by id passed. If id passed
does not match with any connection loaded by this class it will
return null
.
This just calls getServer().getDBPoolUtil().getConnection(id)
getConnection
in interface ClientHandler
java.lang.Exception
public java.util.Date getClientConnectedTime()
null
getClientConnectedTime
in interface ClientHandler
protected abstract byte[] readInputStream() throws java.io.IOException
java.io.IOException
protected static byte[] readInputStream(java.io.InputStream _in) throws java.io.IOException
java.io.IOException
public java.lang.String readBytes() throws java.io.IOException
DataType.IN
is in DataMode.BYTE
mode.
readBytes
in interface ClientHandler
java.io.IOException
public void setCommunicationLogging(boolean communicationLogging)
setCommunicationLogging
in interface ClientHandler
getCommunicationLogging()
public boolean getCommunicationLogging()
getCommunicationLogging
in interface ClientHandler
setCommunicationLogging(boolean)
public java.util.Date getLastCommunicationTime()
null
getLastCommunicationTime
in interface ClientHandler
public void updateLastCommunicationTime()
updateLastCommunicationTime
in interface ClientHandler
public void forceClose() throws java.io.IOException
forceClose
in interface ClientHandler
java.io.IOException
public boolean isSecure()
isSecure
in interface ClientHandler
public void setSecure(boolean secure)
setSecure
in interface ClientHandler
secure
- public abstract void updateInputOutputStreams() throws java.io.IOException
updateInputOutputStreams
in interface ClientHandler
java.io.IOException
setSocket(java.net.Socket)
public void makeSecure() throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException
makeSecure(false, false, true, null)
.
makeSecure
in interface ClientHandler
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyManagementException
public void makeSecure(java.lang.String protocol) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException
makeSecure(false, false, true, protocol)
.
makeSecure
in interface ClientHandler
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyManagementException
public void makeSecure(boolean useClientMode, boolean needClientAuth, boolean autoClose, java.lang.String protocol) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException
makeSecure
in interface ClientHandler
useClientMode
- falg if the socket should start its first handshake in "client" mode.needClientAuth
- flag if the clients must authenticate themselves.autoClose
- close the underlying socket when this socket is closedprotocol
- the standard name of the requested protocol. If null
will use the protocol set in secure configuration of the server.
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyManagementException
public void sendClientBinary(byte[] data) throws java.io.IOException
sendClientBinary
in interface ClientHandler
java.io.IOException
- if Socket IO Error or Socket was closed by the client.public void sendClientBinary(byte[] data, int off, int len) throws java.io.IOException
sendClientBinary
in interface ClientHandler
java.io.IOException
- if Socket IO Error or Socket was closed by the client.public byte[] readBinary() throws java.io.IOException
DataType.IN
is in DataMode.BINARY
mode.
readBinary
in interface ClientHandler
java.io.IOException
protected void setClientBinaryHandler(ClientBinaryHandler handler)
handler
- fully qualified name of the class that
implements ClientBinaryHandler
public java.util.logging.Logger getAppLogger()
getAppLogger
in interface ClientHandler
public void setTimeout(int time)
setTimeout
in interface ClientHandler
time
- client socket timeout in milliseconds.getTimeout()
public int getTimeout()
getTimeout
in interface ClientHandler
setTimeout(int)
public boolean hasEvent(ClientEvent event)
hasEvent
in interface ClientHandler
public void addEvent(ClientEvent event)
addEvent
in interface ClientHandler
public void removeEvent(ClientEvent event)
removeEvent
in interface ClientHandler
protected ClientEvent getThreadEvent()
public void setMaxConnectionMsg(java.lang.String msg)
setMaxConnectionMsg
in interface ClientHandler
public java.lang.String getMaxConnectionMsg()
getMaxConnectionMsg
in interface ClientHandler
public abstract void setSocketChannel(java.nio.channels.SocketChannel socketChannel)
setSocketChannel
in interface ClientHandler
public abstract java.nio.channels.SocketChannel getSocketChannel()
getSocketChannel
in interface ClientHandler
public abstract void setSelectionKey(java.nio.channels.SelectionKey selectionKey)
setSelectionKey
in interface ClientHandler
public abstract java.nio.channels.SelectionKey getSelectionKey()
getSelectionKey
in interface ClientHandler
public boolean getWillClean()
public abstract void registerForRead() throws java.io.IOException, java.nio.channels.ClosedChannelException
registerForRead
in interface ClientHandler
java.io.IOException
java.nio.channels.ClosedChannelException
public abstract void registerForWrite() throws java.io.IOException, java.nio.channels.ClosedChannelException
registerForWrite
in interface ClientHandler
java.io.IOException
java.nio.channels.ClosedChannelException
protected abstract void setClientWriteHandler(ClientWriteHandler handler)
handler
- fully qualified name of the class that
implements ClientWriteHandler
public void setCharset(java.lang.String charset)
setCharset
in interface ClientHandler
charset
- to be used for String decoding and encodinggetCharset()
public java.lang.String getCharset()
getCharset
in interface ClientHandler
setCharset(java.lang.String)
public java.lang.String getHostAddress()
getHostAddress
in interface ClientHandler
protected void assertionSystemExit()
public boolean isClientEventNext(ClientEvent clientEvent)
isClientEventNext
in interface ClientHandler
public java.io.BufferedInputStream getBufferedInputStream()
BufferedInputStream
associated with
the Client being handled. Can be null if not available at the time of method call.
getBufferedInputStream
in interface ClientHandler
getBufferedOutputStream()
public java.io.BufferedOutputStream getBufferedOutputStream()
BufferedOutputStream
associated with
the Client being handled. Can be null if not available at the time of method call.
getBufferedOutputStream
in interface ClientHandler
getBufferedInputStream()
protected void handleTimeout(java.net.SocketTimeoutException e) throws java.net.SocketException, java.io.IOException
java.net.SocketException
java.io.IOException
|
QuickServer v1.4.6 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |