首页 > 其他分享 >在Netty底层监控消息发送到Socket的时间

在Netty底层监控消息发送到Socket的时间

时间:2022-12-27 19:05:12浏览次数:59  
标签:Netty Exception operationComplete Socket ChannelFutureListener void ctx msg 发送到


1、调用writeAndFlush方法之后获取ChannelFuture;
2、新增消息发送ChannelFutureListener,监听消息发送结果,如果消息写入网络Socket成功,则Netty会回调ChannelFutureListener的operationComplete方法;
3、在消息发送ChannelFutureListener的operationComplete方法中进行性能统计。
示例代码如下:
 ChannelFuture future=socketChannel.writeAndFlush(msg);
future.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
logger.info("seqId={} sent",msg.getSeqId());
}

});




    @Override
    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
        ctx.fireChannelReadComplete();
    }

还是public void channelRead0(ChannelHandlerContext ctx, RpcMsg msg)这个读到消息的早,测试


 void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception;高低水位变化测试

默认水位值测试

标签:Netty,Exception,operationComplete,Socket,ChannelFutureListener,void,ctx,msg,发送到
From: https://blog.51cto.com/u_4176761/5973341

相关文章

  • Netty4 读写水位控制分析
    服务器上看看默认是多少ConfigurehighandlowwritewatermarksSetsane WRITE_BUFFER_HIGH_WATER_MARK andWRITE_BUFFER_LOW_WATER_MARKServerBootstrapbootstrap=......
  • websocket-sharp 实现websocket
    第一步,使用VS创建一个应用程序第二步,添加引用 websocket-sharpDLL文件,或者NuGet程序包中添加第三部,创建Laputa类usingWebSocketSharp;usingWebSocketSharp.Serve......
  • Netty中8大组件详解(EventLoop、Channel、ChannelFuture、Future、 Promise、Handler
    Netty概述1、什么是NettyNettyisanasynchronousevent-drivennetworkapplicationframeworkforrapiddevelopmentofmaintainablehighperformanceprotocol......
  • WebSocket
    互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他;也正是这种依赖,促进了互联网技术的飞速发展。而终端设备的创新与发展,更加速了互联网的进化;HTTP/1.1规......
  • Linux Socket
    1、概述socket又称套接字,是Linux跨进程通信(IPC)方式的一种,它不仅仅可以做到同一台主机内跨进程通信,还可以做到不同主机间的跨进程通信。1.1 socket诞生的原因两台装有操......
  • 火山中文编程 -- 实现Socket通信
    一、新建一个服务端和客户端二、编写服务端代码1、当主窗口创建完毕,启动服务器,传入两个参数,0.0.0.0表示监听所有的ip地址,11111是我们要监听的端口2、当客户进入的时候我们需......
  • C++实现Socket连接通信
    一、打开两个VS2019,创建两个控制台程序分别命名为client和servers 二、编写服务端servers1、包含头文件及库文件#include<WinSock2.h>#pragmacomment(lib,"ws2_32.lib")#......
  • c++ 使用socket实现C/S端文件的下载传输
    首先是服务器端,大致说下流程:服务器创建线程去处理应答accept(),当接受到客户端连接请求时,首先获取要发送的指定的文件数据总大小给客户端,接着就是循环读取要发送的文件数据......
  • socket 大端 小端 转换《一》
    不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。小......
  • socket 大端 小端 转换《二》
    (1)对于位域结构中的变量来说,其长度不能跨越字节,也就是说不能超过8位。当然如果设置空白位(无名变量,仅仅用作占位的)是没有这个限制的。如果一个字节剩下的位长度不够一个位域,......