Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器开发等网络编程。
目前版本:4.1.36
支持:
最低Oracle JDK 1.7
支持最新的Maven
JDK 9的用法:
Netty可以在模块化的JDK9应用程序中作为自动模块的集合使用。模块名称遵循反向dns样式,并且由于历史原因派生自子项目名称,而不是根包。它们列在下面:
io.netty.all
io.netty.buffer
io.netty.codec
io.netty.codec.dns
io.netty.codec.haproxy
io.netty.codec.http
io.netty.codec.http2
io.netty.codec.memcache
io.netty.codec.mqtt
io.netty.codec.redis
io.netty.codec.smtp
io.netty.codec.socks
io.netty.codec.stomp
io.netty.codec.xml
io.netty.common
io.netty.handler
io.netty.handler.proxy
io.netty.resolver
io.netty.resolver.dns
io.netty.transport
io.netty.transport.epoll (native omitted - reserved keyword in Java)
io.netty.transport.kqueue (native omitted - reserved keyword in Java)
io.netty.transport.unix.common (native omitted - reserved keyword in Java)
io.netty.transport.rxtx
io.netty.transport.sctp
io.netty.transport.udt
Automatic modules 不提供任何声明依赖项的方法,因此需要在module-info文件中单独列出每个使用的模块。
Netty的支持:
入门例子:
官方作者开了个玩笑:世界上最简单的协议不是“Hello World”,而是DISCARD,它是一种在没有任何响应的情况下丢弃任何接收数据的协议。意思就说服务器接受到Client的消息