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

能看男女做那个的网站互联网络推广

能看男女做那个的网站,互联网络推广,本网站建设中,马蜂窝网站建设1.Netty服务端 服务端代码参考【基于Netty实现安全认证的WebSocket#xff08;wss#xff09;服务端-CSDN博客】 2.Netty客户端 客户端代码参考【基于Netty实现WebSocket客户端-CSDN博客】中两种都可以#xff1b;这里用的是第一种。 新增SslHandler的代码#xff1a; …1.Netty服务端 服务端代码参考【基于Netty实现安全认证的WebSocketwss服务端-CSDN博客】 2.Netty客户端 客户端代码参考【基于Netty实现WebSocket客户端-CSDN博客】中两种都可以这里用的是第一种。 新增SslHandler的代码 SslContext sslCtx SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build(); ... pipeline.addLast(sslCtx.newHandler(sc.alloc(), webSocketURL.getHost(), webSocketURL.getPort())); 服务端地址的协议头调整为wss final URI webSocketURL new URI(wss://127.0.0.1:7070/helloWs); 完整的客户端代码如下 import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.ChannelPipeline; import io.netty.channel.EventLoopGroup; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.http.DefaultHttpHeaders; import io.netty.handler.codec.http.HttpClientCodec; import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; import io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory; import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler; import io.netty.handler.codec.http.websocketx.WebSocketVersion; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import io.netty.handler.stream.ChunkedWriteHandler; import lombok.extern.slf4j.Slf4j;import java.net.URI; import java.util.concurrent.CountDownLatch;/*** https://blog.csdn.net/a1053765496/article/details/130701218* 基于Netty快速实现WebSocket客户端不手动处理握手*/ Slf4j public class SimpleWssClient {final CountDownLatch latch new CountDownLatch(1);public static void main(String[] args) throws Exception {SimpleWssClient client new SimpleWssClient();client.test();}public void test() throws Exception {Channel dest dest();latch.await();dest.writeAndFlush(new TextWebSocketFrame(CountDownLatch完成后发送的消息));}public Channel dest() throws Exception {final URI webSocketURL new URI(wss://127.0.0.1:7070/helloWs);EventLoopGroup group new NioEventLoopGroup();SslContext sslCtx SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();Bootstrap boot new Bootstrap();boot.option(ChannelOption.SO_KEEPALIVE, true).option(ChannelOption.TCP_NODELAY, true).group(group).handler(new LoggingHandler(LogLevel.INFO)).channel(NioSocketChannel.class).handler(new ChannelInitializerSocketChannel() {Overrideprotected void initChannel(SocketChannel sc) throws Exception {ChannelPipeline pipeline sc.pipeline();pipeline.addLast(sslCtx.newHandler(sc.alloc(), webSocketURL.getHost(), webSocketURL.getPort()));pipeline.addLast(new HttpClientCodec());pipeline.addLast(new ChunkedWriteHandler());pipeline.addLast(new HttpObjectAggregator(64 * 1024));pipeline.addLast(new WebSocketClientProtocolHandler(WebSocketClientHandshakerFactory.newHandshaker(webSocketURL, WebSocketVersion.V13, null, false, new DefaultHttpHeaders())));pipeline.addLast(new SimpleChannelInboundHandlerTextWebSocketFrame() {Overrideprotected void channelRead0(ChannelHandlerContext ctx, TextWebSocketFrame msg)throws Exception {System.err.println( 客户端收到消息 msg.text());}Overridepublic void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {if (WebSocketClientProtocolHandler.ClientHandshakeStateEvent.HANDSHAKE_COMPLETE.equals(evt)) {log.info(ctx.channel().id().asShortText() 握手完成);latch.countDown();send(ctx.channel());}super.userEventTriggered(ctx, evt);}});}});ChannelFuture cf boot.connect(webSocketURL.getHost(), webSocketURL.getPort()).sync();return cf.channel();}public static void send(Channel channel) {final String textMsg 握手完成后直接发送的消息;if (channel ! null channel.isActive()) {TextWebSocketFrame frame new TextWebSocketFrame(textMsg);channel.writeAndFlush(frame).addListener((ChannelFutureListener) channelFuture - {if (channelFuture.isDone() channelFuture.isSuccess()) {log.info( 发送成功.);} else {channelFuture.channel().close();log.info( 发送失败. cause channelFuture.cause());channelFuture.cause().printStackTrace();}});} else {log.error(消息发送失败 textMsg textMsg);}}} 参考利用netty开发webScoketClient支持wss协议客户端、服务端心跳实现_websocketclient-CSDN博客
http://www.dnsts.com.cn/news/151787.html

相关文章:

  • 镇江网站建设制作公司网站建设所需资料
  • 免费建站哪个好搭建网页游戏平台
  • 网站评论源码wordpress在线时长插件
  • 网站伪静态是什么意思网站建设规划书
  • 黑色网站素材tk跨境电商平台怎么注册
  • 外贸生意做哪个网站好网站建设毕业设计论文
  • 网站登录按纽是灰色的手机主题wordpress
  • 什么身一什么网站建设上市公司网站建设要求
  • 网站建设资金管理办法asp手机网站模板
  • 云南省网站建设收费调查报告论文聊城经济开发区人才网
  • wordpress下载类主题系统主题seo中文含义
  • 周口建设公司网站白银做网站
  • 建设网站需要哪些资质做网站需要学些什么软件
  • 网站建设设计制作维护广东东莞邮政编码
  • 企业网站建设国内外现状邢台网红桥
  • 免费建一个自己的网站东莞网站建设服务
  • 网站图片不轮播建筑工程管理系统平台
  • 泊头市网站制作公司宿州做网站的有吗
  • 东城建站推广wordpress 导入数据库结构
  • 个人网站模板制作教程网页制作与前端开发
  • 卡片形式的网站深圳市住房城乡建设局网站首页
  • 太原建网站公司大三亚app下载
  • 有哪些做留学资讯的网站写作网站不屏蔽
  • 企业站seo哪家好cpa推广联盟平台
  • 晨光科技 网站建设棋牌类网站设计建设
  • seo怎么学在哪里学谷歌seo查询
  • 门户网站建设自查报告搭建个人网站的步骤
  • 手机建造网站wordpress 如何支持短代码
  • 门户网站设计要求做碳循环的网站
  • 做seo学网站wordpress电商方案