NETTY RE
Be_With_I
这个作者很懒,什么都没留下…
展开
-
019netty的webiSocket客户端
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> var soc; if(window.WebSocket) { soc= new WebSocket("ws://localhost:123原创 2020-07-12 22:44:04 · 102 阅读 · 0 评论 -
018netty的webSocketServer
package websocket;import beat.Bhandler;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.NioServerSocket.原创 2020-07-12 22:43:18 · 139 阅读 · 0 评论 -
017netty的心跳处理
package beat;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.NioServerSocketChannel;import io.netty.han原创 2020-07-12 20:49:30 · 135 阅读 · 0 评论 -
016netty的客户端
package nchart;import io.netty.bootstrap.Bootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.NioSocketChannel;import io.netty.handler.codec原创 2020-07-09 15:28:47 · 117 阅读 · 0 评论 -
015netty的服务端
package nchart;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.NioServerSocketChannel;import io.netty.h原创 2020-07-09 15:27:44 · 98 阅读 · 0 评论 -
013netty 对http进行过滤处理
HttpRequest httpRequest = (HttpRequest) msg; String uri = httpRequest.uri(); URI uri1 = new URI(uri); if ("/favicon.ico".equals(uri1.getPath())) { return; }加入这样一段可以不做相对应业务的处理。就是过滤。msg.g...原创 2020-07-07 22:44:51 · 665 阅读 · 0 评论 -
012netty的httpSer
我们用一个新的子类SimpleChannelInboundHandler。提供了package http;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.SocketChannel;import io.netty.channel.socket.nio.N.原创 2020-07-07 22:25:32 · 159 阅读 · 0 评论 -
011netty的ChannelFuture
ChannelFuture channelFuture = serverBootstrap.bind(12312).sync();//server对象刚建立的时候处于非完成状态可以通过对象来获取状态。可以设置监听器来自动执行一些工作。ChannelFuture 的父类种有判断的方法。 ChannelFuture channelFuture = serverBootstrap.bind(12312).sync();//server channelFuture.addLis原创 2020-07-06 23:46:43 · 276 阅读 · 0 评论 -
010netty的scheduledTaskqueue
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { System.out.println(Thread.currentThread().getName()); System.out.println("ctx = " + ctx); System.out.println("ctx.channel() = " + ctx.channel()); ..原创 2020-07-06 22:57:17 · 297 阅读 · 0 评论 -
009netty中的TaskQueue
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { System.out.println(Thread.currentThread().getName()); System.out.println("ctx = " + ctx); System.out.println("ctx.channel() = " + ctx.channel()); .原创 2020-07-06 22:41:20 · 300 阅读 · 0 评论 -
008netty中的NioEventLoopGroup
这个是源码中默认的线程数。因为自己的cpu是8核心的,所以是cpu数量的2倍,这个是默认值 EventLoopGroup bossGroup = new NioEventLoopGroup(2); EventLoopGroup workGroup = new NioEventLoopGroup(2);如果我们这样设置客户端有4个请求连接会是什么样nioEventLoopGroup-3-1ctx = ChannelHandlerContext(Nhandler#0, [.原创 2020-07-06 21:55:52 · 382 阅读 · 0 评论 -
007netty的客户端
package netty;import io.netty.bootstrap.Bootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.ni原创 2020-07-03 23:46:58 · 130 阅读 · 0 评论 -
006netty的初步理解以及服务端
package netty;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEve.原创 2020-07-03 23:45:49 · 140 阅读 · 0 评论 -
005NIO客户端
package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectableChannel;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;im原创 2020-07-02 21:48:05 · 111 阅读 · 0 评论 -
004NIO服务端
package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Set;public class ChatSer { Selector selector; ServerSocketChannel ser原创 2020-07-02 21:47:18 · 137 阅读 · 0 评论 -
003 NIO实现简单的服务和用户
package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Set;public class NSer { public static void main(String[] args) throws Exc原创 2020-07-02 10:53:46 · 135 阅读 · 0 评论 -
002 NIO 的介绍
JDK1.4出的BIO 比较 NIO1,是流的方式,块的方式。2,阻塞,非阻塞3,基于字节流或者是字符流,基于Channel和Buffer 管道和缓冲区。selector 是基于事件的监听。每个channel和buffer是对应的selector根据事件,切换到不同的channel中,所以channel会注册到selector中,event 也是事先定义好的。所有数据的读写都是需要通过bufffer的,提高效率。BIO中只能是一种流,而NIO是双向的。Buffer的基本使用pack原创 2020-06-25 20:48:35 · 166 阅读 · 0 评论 -
001 netty概述
1,netty是Jboss出品 ,是Github上的独立项目2,netty是异步的,是基于事件驱动的3,基于TCP/IP协议的,如图所示是netty的结构。BIO同步的阻塞,一个连接就要一个线程,如果线程,开销很大。IO模型...原创 2020-06-25 10:48:15 · 157 阅读 · 0 评论