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

怎么成立网站上海seo推广外包

怎么成立网站,上海seo推广外包,大型门户网站建设是什么,网站升级建设费用吗调用注意&#xff1a; 1、端口一定要是可以访问的。 2、依赖必须注意和其他版本冲突&#xff0c;比如redis的springboot starter包&#xff0c;会与5.0版本冲突。 <netty.version>4.1.74.Final</netty.version> <dependency><groupId>io…

调用注意:

1、端口一定要是可以访问的。

2、依赖必须注意和其他版本冲突,比如redis的springboot starter包,会与5.0+版本冲突。

 <netty.version>4.1.74.Final</netty.version>            
<dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>${netty.version}</version>
</dependency>

首先创建socket服务


@Component
@Slf4j
public class NettyWebSocketServer extends Thread {public static String MsgCode = "GBK";public Integer port=8099;@Overridepublic void run() {startServer();}private void startServer() {EventLoopGroup bossGroup = null;EventLoopGroup workGroup = null;ServerBootstrap serverBootstrap = null;ChannelFuture future = null;try {//初始化线程组bossGroup = new NioEventLoopGroup();workGroup = new NioEventLoopGroup();//初始化服务端配置serverBootstrap = new ServerBootstrap();//绑定线程组serverBootstrap.group(bossGroup, workGroup).channel(NioServerSocketChannel.class).childHandler(new WebSocketChannelInitializer());future = serverBootstrap.bind(new InetSocketAddress(port)).sync();log.info(" *************Web Socket服务端启动成功 Port:{}*********** ", port);} catch (Exception e) {log.error("Web Socket服务端启动异常", e);} finally {if (future != null) {try {future.channel().closeFuture().sync();} catch (InterruptedException e) {log.error("channel关闭异常:", e);}}if (bossGroup != null) {//线程组资源回收bossGroup.shutdownGracefully();}if (workGroup != null) {//线程组资源回收workGroup.shutdownGracefully();}}}}

创建WebSocketChannelInitializer,配置请求目录、handle类,以及请求的最大内容

public class WebSocketChannelInitializer extends ChannelInitializer<SocketChannel> {protected void initChannel(SocketChannel socketChannel) throws Exception {ChannelPipeline pipeline = socketChannel.pipeline();pipeline.addLast(new HttpServerCodec());pipeline.addLast(new ChunkedWriteHandler());pipeline.addLast(new HttpObjectAggregator(5000));pipeline.addLast(new WebSocketServerProtocolHandler("/ws"));pipeline.addLast(new TextWebSocketFrameHandle());}
}

channelRead0方法可以处理收到的消息,并回复,如果实现聊天功能需要记录channel,然后通过channel来回复


@Slf4j
public class TextWebSocketFrameHandle extends SimpleChannelInboundHandler<TextWebSocketFrame> {@Overrideprotected void channelRead0(ChannelHandlerContext ctx, TextWebSocketFrame msg) throws Exception {log.info("收到消息:" + msg.text());ctx.channel().writeAndFlush(new TextWebSocketFrame("收到客户端消息"));}@Overridepublic void handlerAdded(ChannelHandlerContext ctx) throws Exception {log.info("handlerAdded:" +ctx.channel().id().asLongText());}@Overridepublic void handlerRemoved(ChannelHandlerContext ctx) throws Exception {log.info("handlerAdded:" +ctx.channel().id().asLongText());}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {log.error("异常发生");ctx.close();}
}

web调用的地址为:ws://localhost:8099/ws

http://www.ritt.cn/news/14670.html

相关文章:

  • 怎么做网站的seo星乐seo网站关键词排名优化
  • 巩义网站推广怎么做海南百度推广总代理
  • 提供商城网站建设西安网站seo服务
  • 济南软件优化网站建设seo百度快速排名软件
  • 做化工资讯的网站搜索seo优化
  • wordpress用户数据备份山东seo首页关键词优化
  • 网站里的注册怎么做关键词搜索排名公司
  • 网站建设利润搜狗搜索引擎网页
  • 网站建设的好处网络营销自学网站
  • 山西建设机械网站首页无锡整站百度快照优化
  • 做劳保批发的网站社交媒体营销策略有哪些
  • 南昌做网站的公司哪家好seo优化技术排名
  • 在线做app的网站百度搜索风云榜小说排行榜
  • 找人做网站一般要多少钱淘宝店铺运营
  • mac 做网站开发怎么自己做一个网址
  • 动态网站开发技术有哪些全自动引流推广软件
  • 毕设代做有哪些靠谱网站有哪些可以免费推广的平台
  • 义乌网站建设公司百度网址导航
  • 中国icp备案的有多少企业网站seo快速排名的方法
  • 教育门户网站系统建设方案营销外包公司
  • pc网站和app哪个容易做西安关键词seo公司
  • iis建设个人网站网站收录登录入口
  • 做建设网站的活的兼职系统优化软件
  • 中铁建发展集团有限公司seo tdk
  • 网站url建设网络推广平台都有哪些
  • 如何自己做网站的优化推广免费建站
  • 广州4a广告公司名单第三方关键词优化排名
  • 公司做网站 微信平台磁力链
  • 做网站的后台开发需要会些什么seo推广招聘
  • 建站公司怎么赚钱的北京全网营销推广