本文整理匯總了Java中fi.iki.elonen.WebSocketFrame.CloseCode類的典型用法代碼示例。如果您正苦於以下問題:Java CloseCode類的具體用法?Java CloseCode怎麽用?Java CloseCode使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
CloseCode類屬於fi.iki.elonen.WebSocketFrame包,在下文中一共展示了CloseCode類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: handleWebsocketFrame
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
protected void handleWebsocketFrame(WebSocketFrame frame) throws IOException {
if (frame.getOpCode() == OpCode.Close) {
handleCloseFrame(frame);
} else if (frame.getOpCode() == OpCode.Ping) {
sendFrame(new WebSocketFrame(OpCode.Pong, true, frame.getBinaryPayload()));
} else if (frame.getOpCode() == OpCode.Pong) {
onPong(frame);
} else if (!frame.isFin() || frame.getOpCode() == OpCode.Continuation) {
handleFrameFragment(frame);
} else if (continuousOpCode != null) {
throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence not completed.");
} else if (frame.getOpCode() == OpCode.Text || frame.getOpCode() == OpCode.Binary) {
onMessage(frame);
} else {
throw new WebSocketException(CloseCode.ProtocolError, "Non control or continuous frame expected.");
}
}
示例2: handleCloseFrame
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
protected void handleCloseFrame(WebSocketFrame frame) throws IOException {
CloseCode code = CloseCode.NormalClosure;
String reason = "";
if (frame instanceof CloseFrame) {
code = ((CloseFrame) frame).getCloseCode();
reason = ((CloseFrame) frame).getCloseReason();
}
if (state == State.CLOSING) {
//Answer for my requested close
doClose(code, reason, false);
} else {
//Answer close request from other endpoint and close self
State oldState = state;
state = State.CLOSING;
if (oldState == State.OPEN) {
sendFrame(new CloseFrame(code, reason));
}
doClose(code, reason, true);
}
}
示例3: handleFrameFragment
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
protected void handleFrameFragment(WebSocketFrame frame) throws IOException {
if (frame.getOpCode() != OpCode.Continuation) {
//First
if (continuousOpCode != null) {
throw new WebSocketException(CloseCode.ProtocolError, "Previous continuous frame sequence not completed.");
}
continuousOpCode = frame.getOpCode();
continuousFrames.clear();
continuousFrames.add(frame);
} else if (frame.isFin()) {
//Last
if (continuousOpCode == null) {
throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence was not started.");
}
onMessage(new WebSocketFrame(continuousOpCode, continuousFrames));
continuousOpCode = null;
continuousFrames.clear();
} else if (continuousOpCode == null) {
//Unexpected
throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence was not started.");
} else {
//Intermediate
continuousFrames.add(frame);
}
}
示例4: close
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
public void close(CloseCode code, String reason) throws IOException {
State oldState = state;
state = State.CLOSING;
if (oldState == State.OPEN) {
sendFrame(new CloseFrame(code, reason));
} else {
doClose(code, reason, false);
}
}
示例5: WebSocketException
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
public WebSocketException(Exception cause) {
this(CloseCode.InternalServerError, cause.toString(), cause);
}
示例6: getCode
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
public CloseCode getCode() {
return code;
}
示例7: onClose
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
@Override
protected void onClose(CloseCode code, String reason, boolean initiatedByRemote) {
}
示例8: onClose
import fi.iki.elonen.WebSocketFrame.CloseCode; //導入依賴的package包/類
protected abstract void onClose(CloseCode code, String reason, boolean initiatedByRemote);