SocketIO---Netty--HelloWorld

1. server

 1 public class Server {
 2 
 3     public static void main(String[] args) throws Exception {
 4         System.out.println("Server is starting...");
 5         //1 创建线两个程组 
 6         EventLoopGroup bossGroup = new NioEventLoopGroup(); //一个是用于处理服务器端接收客户端连接的
 7         EventLoopGroup workGroup = new NioEventLoopGroup();    //一个是进行网络通信的(网络读写的)
 8         
 9         //2 创建辅助工具类,用于服务器通道的一系列配置
10         ServerBootstrap b = new ServerBootstrap();
11         b.group(bossGroup, workGroup)        //绑定俩个线程组
12         .channel(NioServerSocketChannel.class)        //指定NIO的模式
13         .option(ChannelOption.SO_BACKLOG, 1024)        //设置tcp缓冲区
14         .option(ChannelOption.SO_SNDBUF, 32*1024)    //设置发送缓冲大小
15         .option(ChannelOption.SO_RCVBUF, 32*1024)    //这是接收缓冲大小
16         .option(ChannelOption.SO_KEEPALIVE, true)    //保持连接
17         .childHandler(new ChannelInitializer<SocketChannel>() {//服务端就是childHandler
18             @Override
19             protected void initChannel(SocketChannel socketChannel) throws Exception {
20                 //3 在这里配置具体数据接收方法的处理 ChannelPipeline<<<添加到<<-ChannelHandler
21                 socketChannel.pipeline().addLast(new ServerHandler());
22             }
23         });
24         
25         //4 异步,进行绑定  服务端是bind,客户端是connect
26         ChannelFuture channelFuture = b.bind(8765).sync();
27         //5 等待关闭
28         channelFuture.channel().closeFuture().sync(); // 阻塞用, 等价于Thread.sleep(Integer.MAX_VALUE)
29         
30         bossGroup.shutdownGracefully();
31         workGroup.shutdownGracefully();
32     }
33 }

View Code

相关推荐:

如何运用SocketIO实现WebSSH

这篇文章主要讲解了“如何运用SocketIO实现WebSSH”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何运用SocketIO实现WebSSH”吧!Flask框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是...

socketio一定要用在node中吗

今天小编给大家分享一下socketio一定要用在node中吗的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 socketio必须用在node中;socketio是nodejs的一个库,...

Netty发送队列积压导致内存泄露怎么办

这篇文章主要为大家展示了“Netty发送队列积压导致内存泄露怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Netty发送队列积压导致内存泄露怎么办”这篇文章吧。  正文导致Netty内存泄漏的原因有很多,例如,使用内存池创建的对...

Java如何从HelloWorld到面向对象

这期内容当中小编将会给大家带来有关Java如何从HelloWorld到面向对象,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。"HelloWorld!"先来看一个HelloWorld.java程序。这个程序在屏幕上打印出一串字符"Hel...

什么是Netty事件传播

本篇内容主要讲解“什么是Netty事件传播”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是Netty事件传播”吧!Netty高性能的背后,蕴含着优秀的设计。今天我们从源码角度详细介绍Netty中ChannelPipeline的事件,以及这些事件是如何...

netty中pipeline如何添加handler

这篇文章将为大家详细讲解有关netty中pipeline如何添加handler,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。pipeline无疑是netty中非常重要的一环,在io处理中netty通过已存放在pipeline中的handler有序处理socket中...

Netty如何解决TCP 粘包拆包

小编给大家分享一下Netty如何解决TCP粘包拆包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是粘包/拆包      一般所谓的TCP粘包是在一次接收数据不...

TCP粘包拆包的概念以及Netty解决TCP粘包拆包实例

这篇文章主要讲解了“TCP粘包拆包的概念以及Netty解决TCP粘包拆包实例”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TCP粘包拆包的概念以及Netty解决TCP粘包拆包实例”吧!1、TCP粘包拆包操作系统我们都知道,操作系统的核心是内核,独立于...