`
liujie5354
  • 浏览: 6107 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Netty server/business logic 实现

 
阅读更多

package com.netty.examples.discard;

import io.netty.buffer.Unpooled;

import io.netty.channel.ChannelFutureListener;

import io.netty.channel.ChannelHandler.Sharable;

import io.netty.channel.ChannelHandlerContext;

import io.netty.channel.ChannelInboundHandlerAdapter;

 

import io.netty.util.ReferenceCountUtil;

 

@Sharable

public class DiscardServerHandler extends ChannelInboundHandlerAdapter {

 

@Override

public void channelRead(ChannelHandlerContext ctx, Object msg) {

try {

System.out.println("Server received: " + msg);

ctx.write(msg);

       ctx.flush();

} finally {

       ReferenceCountUtil.release(msg);

}

}

 

@Override

public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {

ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);

}

 

@Override

public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause)

throws Exception {

// Close the connection when an exception is raised.

cause.printStackTrace();

ctx.close();

}

}

 

@Sharable annotation 表明Handler可以在不同Channel之间共享。

ctx.writeAndFlush()方法 "flush" the messages to the remote peer yet.

 

DiscardServerHandler继承自ChannelInboundHandlerAdapter,你必须显示调用方法

ReferenceCountUtil.release(msg)释放资源。

分享到:
评论

相关推荐

    netty实现SSL/TSL双向加密认证示例

    在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)双向加密认证。SSL/TLS 是互联网上广泛采用的安全通信协议,确保数据在网络传输过程中保持私密性和完整性。...

    Netty 粘包/半包原理与拆包实战 源码

    本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json ...

    Netty和SSL/TLS应用例子

    通过阅读和分析这些代码,你可以深入理解Netty如何与SSL/TLS结合,以及如何在实际项目中实现安全的网络通信。代码中可能包括了如`SSLEngine`的创建和配置,证书的加载,以及异常处理等关键部分。通过学习这个示例,...

    reactor-netty, TCP/HTTP/UDP 客户机/服务器,带有联网的反应器.zip

    reactor-netty, TCP/HTTP/UDP 客户机/服务器,带有联网的反应器 反应器联网 http://projectreactor.io/docs/netty/release/api/在软件许可证 2.0许可,,,。

    Netty 粘包/半包原理与拆包实战 【源代码 新】

    - 本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json...

    利用netty实现Modbus TCP client/server

    利用netty实现Modbus TCP client/server READ COILS | 0x01 READ DISCRETE INPUTS | 0x02 READ HOLDING REGISTERS | 0x03 READ INPUT REGISTERS | 0x04 WRITE SINGLE COIL | 0x05 WRITE SINGLE REGISTER | 0x06 ...

    netty实现websocket server

    1. **WebSocketServer.java**:这是 Netty WebSocket 服务器的核心类。首先,我们需要导入相关的 Netty 和 WebSocket 库。然后,创建一个 `ServerBootstrap` 对象,配置服务器的参数,如线程池、管道工厂等。接着,...

    Netty (netty-netty-5.0.0.Alpha2.tar.gz)

    Netty (netty-netty-5.0.0.Alpha2.tar.gz)是一个 NIO 客户端服务器框架,可以快速轻松地开发协议服务器和客户端等...因此,Netty 成功地找到了一种方法,可以在不妥协的情况下实现易于开发、性能、稳定性和灵活性。

    rtmpServer-master_nettyrtmp_rtmp推流_netty开发rtmp_rtmpServer-master

    本项目“rtmpServer-master_nettyrtmp_rtmp推流_netty开发rtmp_rtmpServer-master”是针对RTMP协议开发的一个服务器端实现,它基于强大的Java网络库Netty。以下将详细介绍该服务器的开发背景、功能、核心技术和应用...

    Netty的简单入门demo

    使用之前需要配置pom.xml ...-- https://mvnrepository.com/artifact/io.netty/netty-all --> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.50.Final</version> </dependency>

    使用Netty解决TCP粘包和拆包问题过程详解

    public class PrintServer { public void bind(int port) throws Exception { // 配置服务端的NIO线程组 EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGroup = new ...

    Netty学习笔记_Springboot实现自定义协议.docx

    Netty学习笔记_Springboot实现自定义协议 本文主要介绍了使用Netty框架在Springboot项目中实现自定义协议的方法。自定义协议是指在网络通信中,使用特定的数据格式来传输数据,以满足特定的业务需求。在本文中,...

    netty框架各种通信C/S端

    在这个"Netty框架各种通信C/S端"的资源中,包含了使用Netty实现客户端(Client)和服务器(Server)通信的实例。 1. **TCP通信**: TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的...

    netty-all-4.1.97.Final-20230731.020124-2.jar netty最新jar包,可直接导入使用

    Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming

    netty做服务端支持ssl协议实现websocket的wss协议(java)

    在这个场景中,我们关注的是如何使用Netty来实现服务端支持SSL协议,以便实现WebSocket的WSS(Secure WebSocket)协议。WSS是WebSocket的加密版本,它通过SSL/TLS提供安全的通信,类似于HTTPS对于HTTP的关系。 首先...

    精通并发与Netty 涉及到的代码

    在Netty中,它利用Java的NIO(非阻塞I/O)库实现了高效的事件驱动模型,通过EventLoopGroup和ChannelHandler等组件,能够轻松处理大量并发连接,实现单台服务器支撑百万级别连接的目标。 Netty的Channel是其核心...

    netty-all-4.1.8.Final.jar

    android开发使用的netty-all-4.1.18.Final.jar的依赖包

    go-netty:受netty启发的可扩展网络应用程序框架

    默认支持TCP, 可扩展的编解码器支持基于责任链模型零依赖文献资料例子 tcp_server redis_cli 上网样本 快速开始package mainimport ("fmt""strings""github....{// child pipeline initializervar childInitializer = ...

    netty实现的聊天代码

    在这个“netty实现的聊天代码”中,我们可以深入理解如何使用 Netty 框架来构建简单的聊天应用。这个 demo 包括了 server 和 client 两部分,都是基于 Java 语言编写的,因此也涉及到了 Java 编程。 首先,让我们从...

Global site tag (gtag.js) - Google Analytics