本文整理汇总了Java中org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame类的典型用法代码示例。如果您正苦于以下问题:Java CloseWebSocketFrame类的具体用法?Java CloseWebSocketFrame怎么用?Java CloseWebSocketFrame使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CloseWebSocketFrame类属于org.jboss.netty.handler.codec.http.websocketx包,在下文中一共展示了CloseWebSocketFrame类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: handleWebSocketFrame
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
private void handleWebSocketFrame(final ChannelHandlerContext ctx, WebSocketFrame frame)
throws Exception {
if (frame instanceof CloseWebSocketFrame) {
this.logger.info(Text.WS_CONNECTION_CLOSED_BY,
((CloseWebSocketFrame) frame).getStatusCode(),
this.closedReason = ((CloseWebSocketFrame) frame).getReasonText());
ctx.getChannel().close();
return;
} else if (frame instanceof BinaryWebSocketFrame) {
if (!((BinaryWebSocketFrame) frame).isFinalFragment()) {
this.logger.warn(Text.WS_NOT_FINAL);
return;
}
if (this.channelHandler != null) {
// if not final frame,
// should wait until final frame received
// https://github.com/wsky/top-link/issues/5
ChannelBuffer buffer = ((BinaryWebSocketFrame) frame).getBinaryData();
this.channelHandler.onMessage(this.createContext(buffer.toByteBuffer()));
}
}
if (this.logger.isDebugEnabled()) {
this.logger.debug("unhandled frame: %s", frame);
}
}
开发者ID:kuiwang,项目名称:my-dev,代码行数:26,代码来源:WebSocketServerUpstreamHandler.java
示例2: handleWebSocketFrame
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
private void handleWebSocketFrame(ChannelHandlerContext ctx, WebSocketFrame frame)
throws Exception {
if (frame instanceof CloseWebSocketFrame) {
this.logger.info(Text.WS_CONNECTION_CLOSED_BY,
((CloseWebSocketFrame) frame).getStatusCode(),
this.closedReason = ((CloseWebSocketFrame) frame).getReasonText());
CloseWebSocketFrame closeFrame = (CloseWebSocketFrame) frame;
this.clear(ctx);
this.logger.warn(Text.WS_CONNECTION_CLOSED_BY, closeFrame.getStatusCode(),
closeFrame.getReasonText());
} else if (frame instanceof BinaryWebSocketFrame) {
if (!((BinaryWebSocketFrame) frame).isFinalFragment()) {
this.logger.warn(Text.WS_NOT_FINAL);
return;
}
if (this.haveHandler()) {
ChannelBuffer buffer = ((BinaryWebSocketFrame) frame).getBinaryData();
this.getHandler().onMessage(this.createContext(buffer.toByteBuffer()));
}
}
}
开发者ID:kuiwang,项目名称:my-dev,代码行数:22,代码来源:WebSocketClientUpstreamHandler.java
示例3: processWebsocketFrame
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
private void processWebsocketFrame(WebSocketFrame msg, Channel channel) {
if (log.isDebugEnabled()) {
log.debug("Received websocket frame from "
+ channel.getRemoteAddress());
}
// Check for closing frame
if (msg instanceof CloseWebSocketFrame) {
// handshaker.close(channel, (CloseWebSocketFrame) msg);
return;
} else if (!(msg instanceof BinaryWebSocketFrame)) {
// Close
}
NettyWebsocketClient nettyClient = (NettyWebsocketClient) channel.getAttachment();
nettyClient.frameReceived(msg);
}
开发者ID:ludup,项目名称:hypersocket-framework,代码行数:19,代码来源:HttpRequestDispatcherHandler.java
示例4: close
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
public void close() {
closeThread.execute(new Thread(){
public void run() {
if (ch != null && ch.isWritable()) {
ch.write(new CloseWebSocketFrame());
ChannelFuture closing = ch.getCloseFuture();
closing.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future)
throws Exception {
if (ch != null) {
ch.close();
}
}
});
}
}
});
}
开发者ID:Lightstreamer,项目名称:Lightstreamer-toolkit-socket.io-benchmark,代码行数:24,代码来源:WebSocketConnection.java
示例5: messageReceived
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception
{
Channel ch = ctx.getChannel();
if (!this.handshaker.isHandshakeComplete())
{
this.ch = ch;
this.handshaker.finishHandshake(ch, (HttpResponse) e.getMessage());
this.t.notifyOpen();
return;
}
if (e.getMessage() instanceof HttpResponse)
{
HttpResponse response = (HttpResponse) e.getMessage();
throw new Exception("Unexpected HttpResponse (status=" + response.getStatus() + ", content=" + response.getContent().toString(CharsetUtil.UTF_8) + ")");
}
WebSocketFrame frame = (WebSocketFrame) e.getMessage();
if (frame instanceof BinaryWebSocketFrame)
{
BinaryWebSocketFrame f = (BinaryWebSocketFrame) frame;
ChannelBuffer binaryData = f.getBinaryData();
byte[] arr = new byte[binaryData.readableBytes()];
binaryData.readBytes(arr);
this.t.notifyMessage(arr);
}
else if (frame instanceof PongWebSocketFrame)
{
System.out.println("WebSocket Client received pong");
}
else if (frame instanceof CloseWebSocketFrame)
{
System.out.println("WebSocket Client received closing");
ch.close();
}
}
开发者ID:EricssonResearch,项目名称:trap,代码行数:39,代码来源:NettyWSClient.java
示例6: handleWebSocketFrame
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
private void handleWebSocketFrame(ChannelHandlerContext ctx, WebSocketFrame frame) {
Connect connect = connects.getConnect(ctx.getChannel().getId() + "");
try {
if (frame instanceof CloseWebSocketFrame) {
handshaker.close(ctx.getChannel(), (CloseWebSocketFrame) frame);
} else if (frame instanceof PingWebSocketFrame) {
ctx.getChannel().write(new PongWebSocketFrame(frame.getBinaryData()));
} else if (frame instanceof TextWebSocketFrame) {
String message = ((TextWebSocketFrame) frame).getText();
Jsonx cc = Jsonx.create(message);
SocketRequest request = cc.toObject(new SocketRequest());
ObjectSnooper.snoop(request).set("session", connect.getSession());
BaseSocketService service = SocketServiceMapping.getSocketServiceMapping().getService(cc.get("type").toString());
service.setConnect(connect);
service.setRequest(request);
service.setConnections(connects);
if (service != null) {
service.doRoutResult();
} else {
throw new Exception("service can not support");
}
} else {
throw new Exception("data error,");
}
} catch (Exception e) {
e.printStackTrace();
connect.send("{\"code\":0,\"mes\":" + e.getMessage() + "}");
}
}
开发者ID:hou80houzhu,项目名称:rocserver,代码行数:30,代码来源:WebSocketServerHandler.java
示例7: handleRequest
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
/**
* Processes a websocket request
* @param ctx The channel handler context
* @param frame The websocket frame request to process
*/
public void handleRequest(ChannelHandlerContext ctx, WebSocketFrame frame) {
// Check for closing frame
if (frame instanceof CloseWebSocketFrame) {
wsHandShaker.get(ctx.getChannel()).close(ctx.getChannel(), (CloseWebSocketFrame) frame);
return;
} else if (frame instanceof PingWebSocketFrame) {
ctx.getChannel().write(new PongWebSocketFrame(frame.getBinaryData()));
return;
} else if (!(frame instanceof TextWebSocketFrame)) {
throw new UnsupportedOperationException(String.format("%s frame types not supported", frame.getClass()
.getName()));
}
String request = ((TextWebSocketFrame) frame).getText();
Netty3JSONRequest wsRequest = null;
try {
wsRequest = Netty3JSONRequest.newJSONRequest(ctx.getChannel(), request);
// if("who".equals(wsRequest.getArgument("t").toString())) {
// SocketAddress sa = ctx.getChannel().getRemoteAddress();
// String host = "unknown";
// String agent = "unknown";
// if(sa!=null) {
// host = ((InetSocketAddress)sa).getHostName();
// }
// if(wsRequest.getArgument("agent")!=null) {
// agent = wsRequest.getArgument("agent").toString();
// }
// SharedChannelGroup.getInstance().add(ctx.getChannel(), ChannelType.WEBSOCKET_REMOTE, "ClientWebSocket", host, agent);
// } else {
router.route(wsRequest);
// }
} catch (Exception ex) {
Netty3JSONResponse response = new Netty3JSONResponse(-1, ResponseType.ERR, ctx.getChannel(), wsRequest);
Map<String, String> map = new HashMap<String, String>(2);
map.put("err", "Failed to parse request [" + request + "]");
map.put("ex", StringHelper.formatStackTrace(ex));
response.setContent(map);
log.error("Failed to parse request [" + request + "]", ex);
ctx.getChannel().write(response);
}
}
开发者ID:nickman,项目名称:HeliosStreams,代码行数:49,代码来源:WebSocketServiceHandler.java
示例8: close
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
@Override
public void close(String reason) {
this.channel.write(new CloseWebSocketFrame(1000, reason));
}
开发者ID:kuiwang,项目名称:my-dev,代码行数:5,代码来源:WebSocketChannelSender.java
示例9: closeChannel
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
private void closeChannel(ChannelHandlerContext ctx, int statusCode, String reason)
throws InterruptedException {
ctx.getChannel().write(new CloseWebSocketFrame(statusCode, reason)).sync();
ctx.getChannel().close();
}
开发者ID:kuiwang,项目名称:my-dev,代码行数:6,代码来源:MaxIdleTimeHandler.java
示例10: close
import org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame; //导入依赖的package包/类
public void close()
{
this.ch.write(new CloseWebSocketFrame());
}
开发者ID:EricssonResearch,项目名称:trap,代码行数:5,代码来源:NettyWSClient.java
注:本文中的org.jboss.netty.handler.codec.http.websocketx.CloseWebSocketFrame类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论