本文整理汇总了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);