完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
这篇来讲述一个springboot整合netty框架与单片机TCP/UDP通信开发小案例,开源架构正在开发当中,到时候开发者就可以像dubbo一样使用netty来进行通信,从而把关注点放到业务层面。
随着移动5G的快速发展,物联网应用将会出现个爆发是增长,在这里使用springboot整合netty来开发一套高性能的通信系统,成为一种快速高效的实现方案。 为什么要用这两个框架来实现通信服务呢?其中的优势在我另一篇文章中会有体现,在这里我们只讨论实现的步骤。 实现步骤
public class NettyClient implements Runnable { @Override public void run() { EventLoopGroup group = new NioEventLoopGroup(); try { Bootstrap b = new Bootstrap(); b.group(group); b.channel(NioSocketChannel.class).option(ChannelOption.TCP_NODELAY, true); b.handler(new ChannelInitializer @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast("frameDecoder", new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4)); pipeline.addLast("frameEncoder", new LengthFieldPrepender(4)); pipeline.addLast("decoder", new StringDecoder(CharsetUtil.UTF_8)); pipeline.addLast("encoder", new StringEncoder(CharsetUtil.UTF_8)); pipeline.addLast("handler", new ClientHandler()); } }); ChannelFuture f = b.connect("127.0.0.1", 8000).sync(); f.channel().writeAndFlush("Netty Hello Service!" + Thread.currentThread().getName() + ":--->:" + Thread.currentThread().getId()); f.channel().closeFuture().sync(); InetSocketAddress socketAddress = (InetSocketAddress) f.channel().localAddress(); System.out.print(String.format("Client port:{%s}", socketAddress.getPort())); } catch (Exception e) { System.out.print("netty服务异常了:{}"); e.printStackTrace(); } finally { group.shutdownGracefully(); System.out.print("netty服务端断开了链接:" + Thread.currentThread().getId()); } } } 如果要请求链接,直接实例化该类即可,连接到服务端 也可以用其他形式的请求链接方式,比如单片机使用WIFI模块来链接 8. 总结
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
8996 浏览 16 评论
4051 浏览 18 评论
1108浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:20 , Processed in 4.013533 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号