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>
continuousFrames
private NanoWSD.WebSocketFrame.OpCode
continuousOpCode
private NanoHTTPD.IHTTPSession
handshakeRequest
private NanoHTTPD.Response
handshakeResponse
private java.io.InputStream
in
private java.io.OutputStream
out
private NanoWSD.State
state
-
Constructor Summary
Constructors Constructor Description WebSocket(NanoHTTPD.IHTTPSession handshakeRequest)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)
protected void
debugFrameReceived(NanoWSD.WebSocketFrame frame)
Debug method.protected void
debugFrameSent(NanoWSD.WebSocketFrame frame)
Debug method.private void
doClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)
NanoHTTPD.IHTTPSession
getHandshakeRequest()
NanoHTTPD.Response
getHandshakeResponse()
private void
handleCloseFrame(NanoWSD.WebSocketFrame frame)
private void
handleFrameFragment(NanoWSD.WebSocketFrame frame)
private void
handleWebsocketFrame(NanoWSD.WebSocketFrame frame)
boolean
isOpen()
protected abstract void
onClose(NanoWSD.WebSocketFrame.CloseCode code, java.lang.String reason, boolean initiatedByRemote)
protected abstract void
onException(java.io.IOException exception)
protected abstract void
onMessage(NanoWSD.WebSocketFrame message)
protected abstract void
onOpen()
protected abstract void
onPong(NanoWSD.WebSocketFrame pong)
void
ping(byte[] payload)
private void
readWebsocket()
void
send(byte[] payload)
void
send(java.lang.String payload)
void
sendFrame(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
-
-