当前位置: 首页 > news >正文

免费网页代理ip地址网站人才网招聘信息

免费网页代理ip地址网站,人才网招聘信息,丽江市住房与城乡建设局网站,网络营销策略有哪些方法断连重试有以下两点考虑#xff1a; 1、连接异常#xff0c;比如网络抖动导致连接失败#xff1b; 2、连接过程中断开连接重试#xff1b; 主要用到两个工具类#xff1a; ChannelFutureListener监听ChannelFuture..isSuccess()#xff1b; ChannelInboundHandlerAd…断连重试有以下两点考虑 1、连接异常比如网络抖动导致连接失败 2、连接过程中断开连接重试 主要用到两个工具类 ChannelFutureListener监听ChannelFuture..isSuccess() ChannelInboundHandlerAdapter重写channelInactive当连接变为不活跃则回调该方法。 完整代码如下 Component public class WebSocketClient {private Channel channel;private Bootstrap bootstrap;private URI uri;private MessageHandler messageHandler;private WebSocketClientHandler handler;private volatile AtomicInteger atomicCount new AtomicInteger(0);public WebSocketClient initClient(String host, MessageHandler messageHandler) throws Exception {this.messageHandler messageHandler;if (StringUtils.isEmpty(host)) {throw new RuntimeException(未配置host.);}uri new URI(host);String scheme uri.getScheme() null? WssSchemeEnum.WS.getValue() : uri.getScheme();//判断是否ssl连接如果是则设置为可信final boolean ssl WssSchemeEnum.WSS.getValue().equalsIgnoreCase(scheme);final SslContext sslCtx;if (ssl) {sslCtx SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();} else {sslCtx null;}EventLoopGroup group new NioEventLoopGroup();try {bootstrap new Bootstrap();bootstrap.group(group).channel(NioSocketChannel.class).handler(new ChannelInitializerSocketChannel() {Overrideprotected void initChannel(SocketChannel ch) {ChannelPipeline p ch.pipeline();p.addFirst(new ChannelInboundHandlerAdapter() {Overridepublic void channelInactive(ChannelHandlerContext ctx) throws Exception {log.error(【{}】检测到wss断连, 第 {} 次发起重连., exchange, atomicCount.incrementAndGet());super.channelInactive(ctx);ctx.channel().eventLoop().schedule(WebSocketClient.this::doConnect, 3000, TimeUnit.MILLISECONDS);}});if (sslCtx ! null) {p.addLast(sslCtx.newHandler(ch.alloc(), uri.getHost(), getUriPort(uri)));}p.addLast(new HttpClientCodec());p.addLast(new HttpObjectAggregator(8192));p.addLast(WebSocketClientCompressionHandler.INSTANCE);handler new WebSocketClientHandler(WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, true, new DefaultHttpHeaders()), exchange, messageHandler);p.addLast(handler);}});} catch (Exception e) {log.error(wss创建client异常. e:, e);if (bootstrap ! null) {bootstrap.config().group().shutdownGracefully();}throw new RuntimeException(初始化wss连接异常. e: e);}doConnect();return this;}public void doConnect() {try {ChannelFuture future bootstrap.connect(uri.getHost(), getUriPort(uri)).sync();handler.handshakeFuture().sync();future.addListener((ChannelFutureListener) cf - {if (future.isSuccess()) {channel future.channel();WssManger.addChannel(exchange, channel);log.info(连接成功.);messageHandler.connectSuccessAction(future.channel());atomicCount.set(0);} else {log.error(监听断连, wss第 {} 次发起重连. , atomicCount.incrementAndGet());future.channel().eventLoop().schedule(WebSocketClient.this::doConnect, 3000, TimeUnit.MILLISECONDS);}});}catch (Exception e) {log.error(连接异常. e: e);if (bootstrap ! null) {log.info(wss连接异常第 {} 次发起重连., atomicCount.incrementAndGet());bootstrap.config().group().schedule(WebSocketClient.this::doConnect, 3000, TimeUnit.MILLISECONDS);}}}/*** 根据URI获取对应的port** param uri uri* return port*/private int getUriPort(URI uri) {String scheme uri.getScheme() null? WssSchemeEnum.WS.getValue() : uri.getScheme();if (!WssSchemeEnum.allScheme().contains(scheme)) {throw new RuntimeException(Only WS(S) is supported.);}if (uri.getPort() -1) {if (WssSchemeEnum.WS.getValue().equalsIgnoreCase(scheme)) {return WssSchemeEnum.WS.getPort();} else if (WssSchemeEnum.WSS.getValue().equalsIgnoreCase(scheme)) {return WssSchemeEnum.WSS.getPort();} else {return -1;}} else {return uri.getPort();}} }
http://www.hkea.cn/news/14361553/

相关文章:

  • 常州建站公司模板沧县住房和城乡建设局网站
  • 个体户可以备案网站吗网页设计是网站建设与管理的内容吗
  • 什么网站可以接图做图自己做h5怎么做
  • wordpress批量修改图片src深圳seo优化seo优化
  • php开发做网站WordPress自适应还移动适配吗
  • 视觉差网站插件免费网站制作 优帮云
  • 小说网站建设如何看出网站用的是什么cms程序
  • 哪个公司做的网站好做个公司网站要多少钱
  • 新东方广州门户网站湖州做网站建设的公司哪家好
  • 安徽省建设业协会网站wordpress搜索文章内容
  • 摄影网站建设的功能有哪些热 综合-网站正在建设中
  • 五华网站建设网站启动画面
  • 上海网站建站建设服务网站流量渠道
  • 网站上传虚拟主机公司申请邮箱怎么申请
  • 苏州建设工程检测协会网站网站设计资源
  • 在网站里文本链接怎么做企业网站html百度云
  • wordpress仿站插件数据中台厂商
  • 建设淘宝网站的人员组织结构wordpress主题修改图片
  • 南通市住房城乡建设局网站36优化大师下载安装
  • 网站后台统计wordpress网站存放在
  • 学校网站建设怎么样新手怎么做跨境电商
  • 宜都网站制作以公司做网站
  • 建站系统主要包括品牌seo公司
  • appstore应用商店小程序排名优化
  • 电子商务网站开发的基本流程包括wordpress淘宝客主题下载
  • 安阳工学院图书馆找做网站的书在哪东海县建网站
  • 宁夏企业网站建设保定市建设局安监网站
  • php做不了大型网站吗wordpress破解主题
  • 做明星同款的网站福州免费企业建站
  • 新网站怎样做推广wordpress 侧栏加flash