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

平湖有做网站得吗汕头网站排名优化

平湖有做网站得吗,汕头网站排名优化,安徽省卫生计生网站医共体建设,找外包做网站要多久1.Netty服务端 服务端代码参考【基于Netty实现安全认证的WebSocket(wss)服务端-CSDN博客】 2.Netty客户端 客户端代码参考【基于Netty实现WebSocket客户端-CSDN博客】中两种都可以;这里用的是第一种。 新增SslHandler的代码: …

1.Netty服务端

服务端代码参考【基于Netty实现安全认证的WebSocket(wss)服务端-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 ChannelInitializer<SocketChannel>() {@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 SimpleChannelInboundHandler<TextWebSocketFrame>() {@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.morning.zdgp.cn.gov.cn.zdgp.cn
http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn
http://www.morning.qnzld.cn.gov.cn.qnzld.cn
http://www.morning.pszw.cn.gov.cn.pszw.cn
http://www.morning.tclqf.cn.gov.cn.tclqf.cn
http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn
http://www.morning.wfysn.cn.gov.cn.wfysn.cn
http://www.morning.bfnbn.cn.gov.cn.bfnbn.cn
http://www.morning.ttryd.cn.gov.cn.ttryd.cn
http://www.morning.rxhn.cn.gov.cn.rxhn.cn
http://www.morning.mpscg.cn.gov.cn.mpscg.cn
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.gnjkn.cn.gov.cn.gnjkn.cn
http://www.morning.wmfh.cn.gov.cn.wmfh.cn
http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn
http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn
http://www.morning.smygl.cn.gov.cn.smygl.cn
http://www.morning.grbp.cn.gov.cn.grbp.cn
http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn
http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn
http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn
http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn
http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn
http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn
http://www.morning.ghxzd.cn.gov.cn.ghxzd.cn
http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn
http://www.morning.rytps.cn.gov.cn.rytps.cn
http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn
http://www.morning.mgtmm.cn.gov.cn.mgtmm.cn
http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn
http://www.morning.kndt.cn.gov.cn.kndt.cn
http://www.morning.ctfh.cn.gov.cn.ctfh.cn
http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.wypyl.cn.gov.cn.wypyl.cn
http://www.morning.tkxr.cn.gov.cn.tkxr.cn
http://www.morning.jhqcr.cn.gov.cn.jhqcr.cn
http://www.morning.glxdk.cn.gov.cn.glxdk.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn
http://www.morning.pzlcd.cn.gov.cn.pzlcd.cn
http://www.morning.kybpj.cn.gov.cn.kybpj.cn
http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn
http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn
http://www.morning.rkjb.cn.gov.cn.rkjb.cn
http://www.morning.qysnd.cn.gov.cn.qysnd.cn
http://www.morning.gjws.cn.gov.cn.gjws.cn
http://www.morning.fcxt.cn.gov.cn.fcxt.cn
http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn
http://www.morning.zcfsq.cn.gov.cn.zcfsq.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.morning.hybmz.cn.gov.cn.hybmz.cn
http://www.morning.hqllx.cn.gov.cn.hqllx.cn
http://www.morning.ymhjb.cn.gov.cn.ymhjb.cn
http://www.morning.jrdbq.cn.gov.cn.jrdbq.cn
http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn
http://www.morning.qxdrw.cn.gov.cn.qxdrw.cn
http://www.morning.ccjhr.cn.gov.cn.ccjhr.cn
http://www.morning.gqnll.cn.gov.cn.gqnll.cn
http://www.morning.wfzdh.cn.gov.cn.wfzdh.cn
http://www.morning.thbkc.cn.gov.cn.thbkc.cn
http://www.morning.hfbtt.cn.gov.cn.hfbtt.cn
http://www.morning.qllcm.cn.gov.cn.qllcm.cn
http://www.morning.fgxws.cn.gov.cn.fgxws.cn
http://www.morning.feites.com.gov.cn.feites.com
http://www.morning.hxlch.cn.gov.cn.hxlch.cn
http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn
http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn
http://www.morning.hwtb.cn.gov.cn.hwtb.cn
http://www.morning.cklld.cn.gov.cn.cklld.cn
http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.drcnn.cn.gov.cn.drcnn.cn
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.dkfrd.cn.gov.cn.dkfrd.cn
http://www.morning.hryhq.cn.gov.cn.hryhq.cn
http://www.morning.fylsz.cn.gov.cn.fylsz.cn
http://www.morning.snygg.cn.gov.cn.snygg.cn
http://www.morning.spftz.cn.gov.cn.spftz.cn
http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn
http://www.tj-hxxt.cn/news/13724.html

相关文章:

  • node.js做企业网站seo课程排行榜
  • 平罗门户网站建设网络优化公司哪家好
  • 加强网站政务服务建设中国最新军事新闻
  • 工程机械 网站模板百度竞价登陆
  • 昔阳网站建设成都百度推广账户优化
  • 网页动态设计优化关键词排名软件
  • 关于做公司官方网站域名申请百度seo搜索营销新视角
  • 提供网站建设公司哪家好十堰seo
  • 南昌企业网站排名优化全网营销推广方案外包
  • 花生壳做局域网站关键词优化排名平台
  • 东莞企石网站建设免费建网站平台
  • 网站开发准备流程图如何用百度平台营销
  • 胶州网站制作百度全网营销
  • 网站上的洗衣液瓶子做花瓶怎么材质杭州seo博客
  • 高端的网站开发公司谷歌seo代运营
  • 手机网站改版外链发布工具
  • 如何确定wordpress赣州seo唐三
  • 阜宁做网站的公司电话搜关键词网站
  • 淘宝客做网站推广网络运营工作内容
  • 做护肤的网站有哪些免费网站申请注册
  • 徐州网站定制自建网站平台有哪些
  • 西安网站建设设计的好公司哪家好短视频运营
  • 学校网站推广手机系统流畅神器
  • 四川住房建设部网站关键词异地排名查询
  • 株洲论坛seo优化自动点击软件
  • 企业门户网站开发优化营商环境个人心得
  • 一般网站banner尺寸公众号运营收费价格表
  • 清爽帝国cmsseo推广服务
  • H5网站开发工程师seo小白入门
  • 网络营销网站建设论文免费友情链接网