Package com.iizix.jetty
Class InternalWebSocket
- java.lang.Object
- com.iizix.jetty.InternalWebSocket
 
- All Implemented Interfaces:
- IWebSocketComm
 - @WebSocket(maxBinaryMessageSize=10000000, maxTextMessageSize=15000000, idleTimeout=60000) public class InternalWebSocket extends java.lang.Object implements IWebSocketCommThe internal web socket for the server side.- Author:
- Christopher Mindus
 
- Method Summary- All Methods Instance Methods Concrete Methods - Modifier and Type - Method - Description - boolean- areBinaryDataFramesSupported()Checks if Binary Data Frames are supported.- void- close()Call this method to close the socket.- boolean- close(boolean rightNow)Call this method to close the socket.- void- close(int code, java.lang.String reason)Call this method to close the socket.- java.lang.Object- getAttachment()Gets the WebSocket attachment object, null for none.- java.lang.String- getDomain()Gets the request domain.- int- getPort()Gets the port number for the connection to the server.- java.lang.String- getRemoteAddr()Returns the Internet Protocol (IP) address of the client or last proxy that sent the request.- java.lang.String- getRemoteHost()Returns the fully qualified name of the client or the last proxy that sent the request.- java.net.SocketAddress- getSocketAddress()Returns the remote address to which this channel's socket is connected.- java.lang.String- getSubProtocol()Gets the negotiated and accepted sub-protocol, null for none (yet), or none is provided by the parties (server or client).- boolean- isClosed()Checks if the connection is disposed of.- boolean- isClosing()Checks if the connection is currently closing.- boolean- isConnected()Checks if the connection is established.- boolean- isConnecting()Checks if the connection is connecting.- boolean- isSecure()Return if the connection is secured using SSL/TLS.- void- onWebSocketBinary(byte[] buf, int offset, int len)Called for a binary message.- void- onWebSocketClose(int code, java.lang.String reason)Called when disconnected.- void- onWebSocketConnect(org.eclipse.jetty.websocket.api.Session s)Called when connected.- void- onWebSocketError(java.lang.Throwable error)Called when an error occurs.- void- onWebSocketFrame(org.eclipse.jetty.websocket.api.Frame frame)Called when a frame is received.- void- onWebSocketText(java.lang.String text)Called for a text message.- void- send(byte[] data)Sends binary data.- void- send(java.lang.String data)Sends a String of data.- boolean- sendHeartBeat()Sends a heart-beat.- void- setAttachment(java.lang.Object attachment)Gets the WebSocket attachment object, null for none.- void- setListener(WebSocketCommListener listener)Assigns the listener.- void- setSubProtocol(java.lang.String subProtocol)Assigns a sub-protocol for the WebSocket (in case the processing of sub-protocol negotiation is done e.g.
 
- Method Detail- getDomain- public java.lang.String getDomain() Gets the request domain.- Specified by:
- getDomainin interface- IWebSocketComm
- Returns:
- The domain name of the server.
 
 - getPort- public int getPort() Gets the port number for the connection to the server.- Specified by:
- getPortin interface- IWebSocketComm
- Returns:
- The port number.
 
 - isSecure- public boolean isSecure() Return if the connection is secured using SSL/TLS.- Specified by:
- isSecurein interface- IWebSocketComm
- Returns:
- The secure flag. Please note that if the server is behind a proxy, the connection might be secure anyway.
 
 - setListener- public void setListener(WebSocketCommListener listener) Assigns the listener.
 - onWebSocketConnect- @OnWebSocketConnect public void onWebSocketConnect(org.eclipse.jetty.websocket.api.Session s) Called when connected.
 - onWebSocketBinary- @OnWebSocketMessage public void onWebSocketBinary(byte[] buf, int offset, int len)Called for a binary message.
 - onWebSocketText- @OnWebSocketMessage public void onWebSocketText(java.lang.String text) Called for a text message.
 - onWebSocketClose- @OnWebSocketClose public void onWebSocketClose(int code, java.lang.String reason)Called when disconnected.
 - onWebSocketError- @OnWebSocketError public void onWebSocketError(java.lang.Throwable error) Called when an error occurs.
 - onWebSocketFrame- @OnWebSocketFrame public void onWebSocketFrame(org.eclipse.jetty.websocket.api.Frame frame) Called when a frame is received.- Flags one method in the class as receiving Frame events from the WebSocket implementation after they have been processed by any extensions declared during the Upgrade handshake. 
 - isConnecting- public boolean isConnecting() Checks if the connection is connecting.- Specified by:
- isConnectingin interface- IWebSocketComm
- Returns:
- true if the connection is pending.
 
 - isConnected- public boolean isConnected() Checks if the connection is established.- Specified by:
- isConnectedin interface- IWebSocketComm
- Returns:
- true if the connection is established.
 
 - isClosing- public boolean isClosing() Checks if the connection is currently closing.- Specified by:
- isClosingin interface- IWebSocketComm
- Returns:
- true if not closed, but closing.
 
 - isClosed- public boolean isClosed() Checks if the connection is disposed of.- Specified by:
- isClosedin interface- IWebSocketComm
- Returns:
- true if closed, not closing.
 
 - close- public void close() Call this method to close the socket.- Specified by:
- closein interface- IWebSocketComm
 
 - close- public void close(int code, java.lang.String reason)Call this method to close the socket.- Specified by:
- closein interface- IWebSocketComm
- Parameters:
- code- A close code: zero for none, otherwise a code 1000 or range 3000 to 4999.
- reason- The reason code: if- codeis zero, null applies.
 
 - close- public boolean close(boolean rightNow) Call this method to close the socket.- Specified by:
- closein interface- IWebSocketComm
- Parameters:
- rightNow- If true, the socket is hard-closed, i.e. no close conversation takes place with the server. If false, the client will send a close message to server that replies with a close itself, then the socket is closed.
- Returns:
- true if closed, false if already closed.
 
 - setSubProtocol- public void setSubProtocol(java.lang.String subProtocol) throws java.lang.IllegalStateExceptionAssigns a sub-protocol for the WebSocket (in case the processing of sub-protocol negotiation is done e.g. outside the WebSocket communication acceptor).- Specified by:
- setSubProtocolin interface- IWebSocketComm
- Throws:
- java.lang.IllegalStateException- If the state doesn't permit this operation, or if the implementation doesn't allow it.
 
 - getSubProtocol- public java.lang.String getSubProtocol() Gets the negotiated and accepted sub-protocol, null for none (yet), or none is provided by the parties (server or client).- Specified by:
- getSubProtocolin interface- IWebSocketComm
- Returns:
- The String for the sub-protocol negotiated, null for none.
 
 - areBinaryDataFramesSupported- public boolean areBinaryDataFramesSupported() Checks if Binary Data Frames are supported.- Specified by:
- areBinaryDataFramesSupportedin interface- IWebSocketComm
- Returns:
- true if it is supported, false otherwise.
 
 - send- public void send(byte[] data) throws java.io.IOExceptionSends binary data.- Specified by:
- sendin interface- IWebSocketComm
- Parameters:
- data- The byte array containing the data.
- Throws:
- java.io.IOException- for failures, e.g. socket is closed, not open, not connected.
 
 - send- public void send(java.lang.String data) throws java.io.IOExceptionSends a String of data.- Specified by:
- sendin interface- IWebSocketComm
- Parameters:
- data- The String to send.
- Throws:
- java.io.IOException- for failures, e.g. socket is closed, not open, not connected.
 
 - sendHeartBeat- public boolean sendHeartBeat() throws java.io.IOExceptionSends a heart-beat.- Specified by:
- sendHeartBeatin interface- IWebSocketComm
- Returns:
- true for success, false for failure (e.g. closing state or closed).
- Throws:
- java.io.IOException- For send failures.
 
 - getRemoteAddr- public java.lang.String getRemoteAddr() Returns the Internet Protocol (IP) address of the client or last proxy that sent the request. For HTTP servlets, same as the value of the CGI variable REMOTE_ADDR. The IP address format depends if it is an IPv4 or IPv6 address.- Specified by:
- getRemoteAddrin interface- IWebSocketComm
- Returns:
- a String containing the IP address of the client that sent the request.
 
 - getRemoteHost- public java.lang.String getRemoteHost() Returns the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the dotted-string form of the IP address (if IPv4, colon'ed-string for IPv6). For HTTP servlets, same as the value of the CGI variable REMOTE_HOST.- Specified by:
- getRemoteHostin interface- IWebSocketComm
- Returns:
- a String containing the fully qualified name of the client.
 
 - getSocketAddress- public java.net.SocketAddress getSocketAddress() Returns the remote address to which this channel's socket is connected.- Where the channel is bound and connected to an Internet Protocol socket address then the return value from this method is of type - InetSocketAddress.- Specified by:
- getSocketAddressin interface- IWebSocketComm
- Returns:
- The remote address; nullif the channel's socket is not connected.
 
 - getAttachment- public java.lang.Object getAttachment() Gets the WebSocket attachment object, null for none.- Specified by:
- getAttachmentin interface- IWebSocketComm
- Returns:
- An object set by setAttachment.
 
 - setAttachment- public void setAttachment(java.lang.Object attachment) Gets the WebSocket attachment object, null for none.- Specified by:
- setAttachmentin interface- IWebSocketComm
- Parameters:
- attachment- The attachment object for the web socket.