【 基于Netty实现聊天室聊天业务学习】第2节.Netty初次见面

21-2 Netty之初次见面

-w828

读分两步:1.把我们的数据从IO流里读出来,放在我们的缓存区,

                  2.再从缓冲区读到堆里面。

数据会经历两次才会到达堆内存,数据量很大就会造成资源的浪费

netty使用了nio的零拷贝,接收数据传输数据开辟新的堆内存,数据从io直接读到开辟新的堆内存中

官网:https://netty.io/

Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.

翻译:Netty是一种异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。

Netty is an 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 such as TCP and UDP socket server.

'Quick and easy' doesn't mean that a resulting application will suffer from a maintainability or a performance issue. Netty has been designed carefully with the experiences earned from the implementation of a lot of protocols such as FTP, SMTP, HTTP, and various binary and text-based legacy protocols. As a result, Netty has succeeded to find a way to achieve ease of development, performance, stability, and flexibility without a compromise.

翻译:Netty是一个NIO客户机-服务器框架,可以快速轻松地开发网络应用程序,如协议服务器和客户机。它大大简化和流线型网络编程,如TCP和UDP套接字服务器。

“快速而简单”并不意味着最终的应用程序将面临可维护性或性能问题。Netty经过精心设计,使用了从许多协议(如FTP、SMTP、HTTP)以及各种二进制和基于文本的遗留协议的实现中获得的经验。因此,Netty成功地找到了一种不需要妥协就能轻松实现开发、性能、稳定性和灵活性的方法。


Features
Design

    Unified API for various transport types - blocking and non-blocking socket
    Based on a flexible and extensible event model which allows clear separation of concerns
    Highly customizable thread model - single thread, one or more thread pools such as SEDA
    True connectionless datagram socket support (since 3.1)

Ease of use

    Well-documented Javadoc, user guide and examples
    No additional dependencies, JDK 5 (Netty 3.x) or 6 (Netty 4.x) is enough
        Note: Some components such as HTTP/2 might have more requirements. Please refer to the Requirements page for more information.

Performance

    Better throughput, lower latency
    Less resource consumption
    Minimized unnecessary memory copy

Security

    Complete SSL/TLS and StartTLS support

Community

    Release early, release often
    The author has been writing similar frameworks since 2003 and he still finds your feed back precious!

​翻译:

特征
设计

    用于各种传输类型的统一API-阻塞和非阻塞套接字
    基于灵活且可扩展的事件模型,该模型允许清晰地分离关注点
    高度可定制的线程模型-单线程、一个或多个线程池,如SEDA
    真正的无连接数据报套接字支持(自3.1版起)

易用性

    文档丰富的Javadoc、用户指南和示例
    没有其他依赖项,JDK 5(Netty 3.x)或6(Netty 4.x)就足够了
        注意:有些组件(如HTTP/2)可能有更多要求。请参阅“需求”页面了解更多信息。

性能

    吞吐量更好,延迟更低
    减少资源消耗
    最小化不必要的内存拷贝

安全

    完全支持SSL/TLS和StartTLS

以下图是netty所支持的协议

-w712

使用User guide for 4.x

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Netty WebSocket聊天室是一个基于Netty框架实现的网络聊天室,它使用WebSocket协议实现实时双向通信。Netty是一个高性能的网络编程框架,通过使用Netty,我们可以轻松地构建可扩展的分布式系统。 在Netty WebSocket聊天室中,主要涉及到两个关键组件:WebSocketFrameHandler和ConcurrentHashMap。WebSocketFrameHandler是处理WebSocket消息的处理器,它必须被标记为Sharable,并且全局共享一个对象,这样才能实现群聊的功能。而ConcurrentHashMap则是作为维护在线用户的容器,它能够确保线程安全性。 如果想体验Netty WebSocket聊天室,你可以访问作者部署在服务器上的地址http://xindoo.xyz:8083/。另外,如果你对实现感兴趣,可以查看作者的博客文章https://blog.csdn.net/weixin_43333483/article/details/127716359#comments_25224363,其中包含了完整的代码和启动方式。一旦启动成功,你就可以通过访问http://localhost:8088/开始聊天了。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [用Netty实现WebSocket网络聊天室](https://blog.csdn.net/xindoo/article/details/126572886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Netty实现Netty+http+websocket聊天室案例](https://download.csdn.net/download/weixin_43333483/87502543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值