Package fi.iki.elonen
Class NanoWSD.WebSocket
- java.lang.Object
-
- fi.iki.elonen.NanoWSD.WebSocket
-
- Direct Known Subclasses:
DebugWebSocketServer.DebugWebSocket
- Enclosing class:
- NanoWSD
public abstract static class NanoWSD.WebSocket extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<NanoWSD.WebSocketFrame>continuousFramesprivate NanoWSD.WebSocketFrame.OpCodecontinuousOpCodeprivate NanoHTTPD.IHTTPSessionhandshakeRequestprivate NanoHTTPD.ResponsehandshakeResponseprivate java.io.InputStreaminprivate java.io.OutputStreamoutprivate NanoWSD.Statestate
-
Constructor Summary
Constructors Constructor Description WebSocket(NanoHTTPD.IHTTPSession handshakeRequest)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)protected voiddebugFrameReceived(NanoWSD.WebSocketFrame frame)Debug method.protected voiddebugFrameSent(NanoWSD.WebSocketFrame frame)Debug method.private voiddoClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)NanoHTTPD.IHTTPSessiongetHandshakeRequest()NanoHTTPD.ResponsegetHandshakeResponse()private voidhandleCloseFrame(NanoWSD.WebSocketFrame frame)private voidhandleFrameFragment(NanoWSD.WebSocketFrame frame)private voidhandleWebsocketFrame(NanoWSD.WebSocketFrame frame)booleanisOpen()protected abstract voidonClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)protected abstract voidonException(java.io.IOException exception)protected abstract voidonMessage(NanoWSD.WebSocketFrame message)protected abstract voidonOpen()protected abstract voidonPong(NanoWSD.WebSocketFrame pong)voidping(byte[] payload)private voidreadWebsocket()voidsend(byte[] payload)voidsend(java.lang.String payload)voidsendFrame(NanoWSD.WebSocketFrame frame)
-
-
-
Field Detail
-
in
private final java.io.InputStream in
-
out
private java.io.OutputStream out
-
continuousOpCode
private NanoWSD.WebSocketFrame.OpCode continuousOpCode
-
continuousFrames
private final java.util.List<NanoWSD.WebSocketFrame> continuousFrames
-
state
private NanoWSD.State state
-
handshakeRequest
private final NanoHTTPD.IHTTPSession handshakeRequest
-
handshakeResponse
private final NanoHTTPD.Response handshakeResponse
-
-
Constructor Detail
-
WebSocket
public WebSocket(NanoHTTPD.IHTTPSession handshakeRequest)
-
-
Method Detail
-
isOpen
public boolean isOpen()
-
onOpen
protected abstract void onOpen()
-
onClose
protected abstract void onClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)
-
onMessage
protected abstract void onMessage(NanoWSD.WebSocketFrame message)
-
onPong
protected abstract void onPong(NanoWSD.WebSocketFrame pong)
-
onException
protected abstract void onException(java.io.IOException exception)
-
debugFrameReceived
protected void debugFrameReceived(NanoWSD.WebSocketFrame frame)
Debug method. Do not Override unless for debug purposes!- Parameters:
frame- The received WebSocket Frame.
-
debugFrameSent
protected void debugFrameSent(NanoWSD.WebSocketFrame frame)
Debug method. Do not Override unless for debug purposes!
This method is called before actually sending the frame.- Parameters:
frame- The sent WebSocket Frame.
-
close
public void close(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote) throws java.io.IOException
- Throws:
java.io.IOException
-
doClose
private void doClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)
-
getHandshakeRequest
public NanoHTTPD.IHTTPSession getHandshakeRequest()
-
getHandshakeResponse
public NanoHTTPD.Response getHandshakeResponse()
-
handleCloseFrame
private void handleCloseFrame(NanoWSD.WebSocketFrame frame) throws java.io.IOException
- Throws:
java.io.IOException
-
handleFrameFragment
private void handleFrameFragment(NanoWSD.WebSocketFrame frame) throws java.io.IOException
- Throws:
java.io.IOException
-
handleWebsocketFrame
private void handleWebsocketFrame(NanoWSD.WebSocketFrame frame) throws java.io.IOException
- Throws:
java.io.IOException
-
ping
public void ping(byte[] payload) throws java.io.IOException- Throws:
java.io.IOException
-
readWebsocket
private void readWebsocket()
-
send
public void send(byte[] payload) throws java.io.IOException- Throws:
java.io.IOException
-
send
public void send(java.lang.String payload) throws java.io.IOException- Throws:
java.io.IOException
-
sendFrame
public void sendFrame(NanoWSD.WebSocketFrame frame) throws java.io.IOException
- Throws:
java.io.IOException
-
-