文档章节

NETTY实战

东门非树
 东门非树
发布于 2014/11/13 10:35
字数 132
阅读 340
收藏 0
点赞 0
评论 4

//TCP监听

public void run(){
  try {
   this.logger.info("监听TCP端口:" + String.valueOf(this.port));
   b.group(bossGroup, workerGroup)
   .channel(NioServerSocketChannel.class)
   .option(ChannelOption.SO_BACKLOG, 1000)
   .handler(new LoggingHandler(LogLevel.INFO))
   .childHandler(new ChannelInitializer<SocketChannel>(){
    @Override
    protected void initChannel(SocketChannel ch)
      throws Exception {
     ch.pipeline().addLast(new TCPChannelHandlerAdapter(port, logger));
    }
   });   
   b.bind(port).sync().channel().closeFuture().sync();   
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }
  finally{
   bossGroup.shutdownGracefully();
   workerGroup.shutdownGracefully();
  }

  }

 

 

//UDP监听

public void run()
 {
  //EventLoopGroup group = new NioEventLoopGroup();
        try {
            this.logger.info("监听UDP端口:" + String.valueOf(this.port));
            b.group(bossGroup)
             .channel(NioDatagramChannel.class)
             .option(ChannelOption.SO_BACKLOG, 1000)
             .option(ChannelOption.SO_BROADCAST, true)
             .handler(new UDPChannelHandlerAdapter(port,this.server, this.udpchannels));
            //System.out.println("UDP:"+port+" Server is starting……"); 
            b.bind(port).sync().channel().closeFuture().await();
          
        }
        catch (Exception e) {
         e.printStackTrace();
  }
        finally {
            bossGroup.shutdownGracefully();
        }

 }

© 著作权归作者所有

共有 人打赏支持
东门非树
粉丝 0
博文 10
码字总数 4040
作品 0
南京
加载中

评论(4)

东门非树
东门非树

引用来自“风声云起”的评论

博主,udp发送消息呢?
public class UdpClientSocket { private byte[] buffer = new byte[1024]; private DatagramSocket ds = null; public UdpClientSocket() throws Exception { ds = new DatagramSocket(); } public final void setSoTimeout(final int timeout) throws Exception { ds.setSoTimeout(timeout); } public final int getSoTimeout() throws Exception { return ds.getSoTimeout(); } public final DatagramSocket getSocket() { return ds; } public final String receive(final String lhost, final int lport) throws Exception { DatagramPacket dp = new DatagramPacket(buffer, buffer.length); ds.receive(dp); String info = new String(dp.getData(), 0, dp.getLength()); return info; } public final void close() { try { ds.close(); } catch (Exception ex) { ex.printStackTrace(); } } }
东门非树
东门非树

引用来自“风声云起”的评论

博主,udp发送消息呢?
public final DatagramPacket send(final String host, final int port, final byte[] bytes) throws IOException { DatagramPacket dp = new DatagramPacket(bytes, bytes.length, InetAddress .getByName(host), port); ds.send(dp); return dp; }
东门非树
东门非树

引用来自“风声云起”的评论

博主,udp发送消息呢?
public static void main(String[] args) throws Exception { UdpClientSocket client = new UdpClientSocket(); String serverHost = "58.213.150.66"; //58.213.150.66 //String serverHost = "10.1.2.133"; int serverPort = 25002; for(int i=2;i>1;i++){ System.out.println("BDJY,863121020017075,20171118143757,118.698815,32.161784,Net+GPS,69,1,,\n" + ("BDJY,863121020017075,20171118143757,118.698815,32.161784,Net+GPS,69,1,,\\n").getBytes().toString()); client.send(serverHost, serverPort, ("BDJY,863121020017075,20171118143757,118.698815,32.161784,Net+GPS,69,1,,\\n").getBytes()); System.out.println("发送数据:" + client.getSocket()); } //String info = client.receive(serverHost, serverPort); //System.out.println("服务端回应数据:" + info); } }
风声云起
风声云起
博主,udp发送消息呢?
《深入探索Netty原理及源码分析》文集小结

写在2017年末尾,翻看文集的第一篇文章已经是三个月前的事了,也没想过这文集会写那么久,这么慢。。。 Netty文集中的文章主要都是我学习过程的笔记,写博客的主要目的是为了通过输出来倒逼输...

tomas家的小拨浪鼓 ⋅ 2017/12/30 ⋅ 0

书籍推荐:《Netty权威指南》

《Netty权威指南》是异步非阻塞通信领域的经典之作,基于最新版本Netty 5.0编写,是国内首本深入介绍Netty原理和架构的技术书籍,也是作者多年实战经验的总结和浓缩。在理论方面,讲解了Net...

ddddd8 ⋅ 2017/12/05 ⋅ 0

百度、阿里、腾讯、京东、大型互联网分布式架构必备技能

分布式架构 迎接高并发大数据的挑战,从深度到广度完善知识体系,成为下一个互联网高薪人才。 理论结合实战,透彻理解分布式架构及其解决方案。 面向人群 1、工作1-5年需要突破瓶颈; 2、传统...

Java高级架构 ⋅ 2017/12/21 ⋅ 0

学习Netty时有关ChannelFuture的一些疑问

在使用netty的ServerBootstrap启动服务器的时候,如下图会在红线处使用sync()方法进行阻塞 而在sync()方法的内部,通过查看源代码,发现实现如下图,在await()中对ChannelFuture对象进行了加...

听说_2017 ⋅ 2017/06/06 ⋅ 0

Netty的Decoder模块阻塞问题

尝试使用Netty接收TCP传输的消息,但是发现如果对象发送消息频率过高,就会出现Decorder中消息不再读取的情况。 服务端代码如下: Decoder解码器摘自《Netty实战一书的例子》,如下: 阻塞时...

兴趣使然的程序员 ⋅ 2017/09/15 ⋅ 6

写个准备读研的学弟的Java学习指南

java开发需要看的书籍 Java编程思想 深入理解Java虚拟机 Java多线程编程的艺术 HeadFirst设计模式 Java并发编程实践战 Spring实战第4版 深入浅出Mybatis原理技术与实战 Effective Java Java性...

u010570551 ⋅ 2017/06/11 ⋅ 0

Android与MINA2、Netty4的跨平台UDP双向通信实战

概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。 当前由于NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。...

JackJiang- ⋅ 2016/06/30 ⋅ 1

双11Java程序员书单推荐

Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《Effective Java》 《Java8实战》 《Java8函数式编程思维》 《深入理解Java虚拟机》 《Java性能权威...

黄步欢 ⋅ 2017/11/04 ⋅ 0

A Year Of Books - 2016 Javaer书单

A Year Of Books – 2016 Javaer书单 (PS:欢迎留言推荐,很多来自白衣大哥的推荐) 1. OS & Networking 《编码 : 隐匿在计算机软硬件背后的语言》 《Linux内核设计与实现 第3版》 《WireShark...

泥沙砖瓦浆木匠 ⋅ 2016/04/25 ⋅ 2

NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了。同时...

JackJiang- ⋅ 2016/06/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 26分钟前 ⋅ 0

彻底删除Microsoft Office的方法

参照此链接彻底删除Office https://support.office.com/zh-cn/article/%e4%bb%8e-pc-%e5%8d%b8%e8%bd%bd-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=zh-CN&rs=zh-CN&ad=CN......

Kampfer ⋅ 41分钟前 ⋅ 0

大盘与个股之间关系

大盘走多:积极出手 顺势加码 大盘走空: 少量出手 退场观望 大盘做头:逆势减码 少量操作 大盘做底 : 小量建仓 小量试单

guozenhua ⋅ 43分钟前 ⋅ 0

Day16 LVM(逻辑卷管理)与磁盘故障小案例

lvm详解 简述 LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再...

杉下 ⋅ 49分钟前 ⋅ 0

rsync实现多台linux服务器的文件同步

一、首先安装rsync,怎样安装都行,rpm,yum,还是你用源码安装都可以。因为我用的是阿里云的ESC,yum install rsync就ok了。 二、配置rsync服务 1.先建立个同步数据的帐号 123 groupadd r...

在下头真的很硬 ⋅ 今天 ⋅ 0

前端基础(三):函数

字数:1685 阅读时间:5分钟 函数定义 在最新的ES规范中,声明函数有4中方法: -函数声明 -函数表达式 -构造函数Function -生成器函数 1.函数声明 语法: function name([param[, param2 [....

老司机带你撸代码 ⋅ 今天 ⋅ 0

Java虚拟机的Heap监狱

在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。 中国人把Stack翻译成“栈”,把Hea...

java高级架构牛人 ⋅ 今天 ⋅ 0

Spring MVC基本概念

只写Controller

颖伙虫 ⋅ 今天 ⋅ 0

微软重金收购GitHub的背后逻辑原来是这样的

全球最大的开发者社区GitHub网站花落谁家的问题已经敲定,微软最终以75亿美元迎娶了这位在外界看来无比“神秘”的小家碧玉。尽管此事已过去一些时日,但整个开发者世界,包括全球各地的开源社...

linux-tao ⋅ 今天 ⋅ 0

磁盘管理—逻辑卷lvm

4.10-4.12 lvm 操作流程: 磁盘分区-->创建物理卷-->划分为卷组-->划分成逻辑卷-->格式化、挂载-->扩容。 磁盘分区 注: 创建分区时需要更改其文件类型为lvm(代码8e) 分区 3 已设置为 Linu...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部