文档章节

NETTY实战

东门非树
 东门非树
发布于 2014/11/13 10:35
字数 132
阅读 342
收藏 0

//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();
        }

 }

© 著作权归作者所有

共有 人打赏支持
上一篇: Redis测试
东门非树
粉丝 0
博文 11
码字总数 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
0
书籍推荐:《Netty权威指南》

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

ddddd8
2017/12/05
0
0
没吃透 Netty 底层通讯原理,还能算的上 Java 老司机?

搞了N年Java,仍有不少朋友困惑:用了很多年Dubbo,觉得自己挺厉害,跳槽面试时一问RPC,一问底层通讯,一问NIO和AIO,就一脸懵逼,到底该怎么办? 画外音:大家有没有这样的感触?Dubbo用得...

ImportNew
01/09
0
0
netty 实战基本功能跟着敲了一遍,但是感觉还是不会用,那么如何将netty用在工作中,以及如何学好netty

netty 实战基本功能跟着敲了一遍,但是感觉还是不会用,那么如何将netty用在工作中,以及如何学好netty

空间维度
2018/12/19
0
0
Netty 入门与实战:仿写微信 IM 即时通讯系统

被小伙伴日常催更了一个多月的 Netty 小册终于和大伙正式见面了,为了答谢小伙伴对小册的厚爱,我将赠送15个免费阅读小册的兑换码。 有两种方式可以获取免费兑换码: 1. 在本篇文章后面留言:...

闪电侠的博客
2018/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
1
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部