All Projects → gogym → Getty

gogym / Getty

Licence: apache-2.0
一个完全基于java的,类似netty的高性能网络框架A fully Java-based, netty - like high-performance networking framework

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Getty

Nettydemo
Netty应用到Android,包含客户端、服务端(断线重连、心跳、黏包处理)
Stars: ✭ 183 (+306.67%)
Mutual labels:  nio, netty
netty-in-action-cn
Netty In Action 中文版
Stars: ✭ 1,389 (+2986.67%)
Mutual labels:  netty, nio
Styx
Programmable, asynchronous, event-based reverse proxy for JVM.
Stars: ✭ 218 (+384.44%)
Mutual labels:  nio, netty
Carmelo
Carmelo is a fast, scalable Java server framework designed for online games. It uses Netty and Fastjson for highly efficient network transmission and supports both TCP/HTTP protocols.
Stars: ✭ 148 (+228.89%)
Mutual labels:  nio, netty
Nioimapclient
High performance, async IMAP client implementation
Stars: ✭ 28 (-37.78%)
Mutual labels:  nio, netty
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+4297.78%)
Mutual labels:  nio, netty
NioSmtpClient
Smtp Client based on Netty
Stars: ✭ 25 (-44.44%)
Mutual labels:  netty, nio
Jupiter
Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Stars: ✭ 1,372 (+2948.89%)
Mutual labels:  nio, netty
Mobileimsdk
一个原创移动端IM通信层框架,轻量级、高度提炼,历经8年、久经考验。可能是市面上唯一同时支持UDP+TCP+WebSocket三种协议的同类开源框架,支持iOS、Android、Java、H5,服务端基于Netty。
Stars: ✭ 3,864 (+8486.67%)
Mutual labels:  nio, netty
cheshuo
🎃A lightweight game server framework. Based on Springboot and Netty. Using ProtoBuf as communication between client and server.
Stars: ✭ 23 (-48.89%)
Mutual labels:  netty, nio
Face2face
基于netty的异步非阻塞实时聊天(IM)服务器。
Stars: ✭ 1,468 (+3162.22%)
Mutual labels:  nio, netty
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+851.11%)
Mutual labels:  nio, netty
Httpproxy
http代理,支持CONNECT和普通GET/POST,支持http2;可防止主动嗅探;可作为小火箭、圈、surge等软件和SwitchyOmega(chrome插件)所说的https代理
Stars: ✭ 104 (+131.11%)
Mutual labels:  nio, netty
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+27775.56%)
Mutual labels:  nio, netty
Simple Rpc
RPC with service discovery base on netty
Stars: ✭ 103 (+128.89%)
Mutual labels:  nio, netty
styx
Programmable, asynchronous, event-based reverse proxy for JVM.
Stars: ✭ 250 (+455.56%)
Mutual labels:  netty, nio
Wheel
关于net nio os cache db rpc json web http udp tcp mq 等多个小工具的自定义实现
Stars: ✭ 45 (+0%)
Mutual labels:  nio, netty
T Io
解决其它网络框架没有解决的用户痛点,让天下没有难开发的网络程序
Stars: ✭ 1,331 (+2857.78%)
Mutual labels:  nio, netty
netty-learning
bio, nio到 netty各种使用案例, 包含基础使用案例,各api使用方法,零拷贝,websocket,群聊,私聊,编码,解码,自定义协议,protobuf等使用案例,rpc服务器,客户端等等学习
Stars: ✭ 49 (+8.89%)
Mutual labels:  netty, nio
Simviso Source Code Interpretation Sharing
simviso 的一系列源码解读分享视频,涉及国外顶级学府课程翻译、国外顶级开发者视频翻译,JDK, Rxjava,Spring Reactor, Netty ,Reactor-Netty ,Spring Webflux 我的目标是将Java的响应式建立起一套学习体系,假如你想深入,可以参考我的视频和后续出版的书籍,同时展现一些我的编程经验,做一个铺路人
Stars: ✭ 412 (+815.56%)
Mutual labels:  nio, netty

getty 追求极致,理想万岁

一个完全基于java 实现的高性能网络框架。

A high-performance networking framework based entirely on Java implementations.

简介 brief introduction

1、getty是完全基于java nio封装的高性能网络框架。

Getty is a high-performance networking framework based entirely on Java NIO encapsulation.

2、getty可在项目中使用,也可以用于帮助你更好的学习java nio

Getty can be used in a project or to help you learn Better about Java NIO

3、getty完全开源,基于 Apache License 2.0 开源协议。

Getty is fully open source, based on the Apache License 2.0 open source License.

4、getty的目的是为了降低对java socket nio的使用成本,帮助提高工作效率。

Getty aims to reduce the cost of using Java Socket NiO and help improve productivity.

getty名称的由来 Origin of the name

取名getty主要是作者过去使用netty比较多,对netty表示尊敬,以及getty本身借鉴了netty的设计思想。

然后作者本人姓氏的拼音首字符是“G”,因而取名getty。

The name Getty is mainly due to the author's use of Netty in the past, which shows respect for Netty, and the fact that Getty itself borrows from Netty's design ideas.

Then the author's surname began with the alphabet character "G", hence the name Getty.

写这个框架的原因: The reason for writing this framework

1、作者是一名程序员,平时喜欢写写代码,特别是网络通讯方面。

The author is a programmer, usually like to write code, especially network communication.

2、JDK 提供了强大的NIO类库,并且提供了与UNIX网络编程事件驱动I/O对应的AIO。使得实现一套网络通讯框架变得相对简单。

The JDK provides a powerful NIO class library and provides AIO, which corresponds to UNIX network programming event-driven I/O.It makes it relatively simple to implement a network communication framework.

3、作者喜欢netty,无论是其性能还是编程思想(JBOSS提供的一个java开源网络框架,提供了稳定和强大的性能)

The author likes Netty, both for its performance and programming ideas (JBOSS provides an open source Java networking framework that provides stable and powerful performance).

4、有了netty为何还要自己造轮子?这里有两个原因,其一是本人喜欢造轮子,这是病,改不了。其二,netty经过多年的发展,其生态体系已经比较庞大,其代码比较臃肿,再者其高深的设计哲学我等凡夫俗子很难悟其精髓。因而索性造一个。

Why build your own wheels when you have Netty? There are two reasons. One is that I like to build wheels. It's a disease that I can't change. Second, after many years of development, Netty's ecosystem has become relatively large, its code is relatively bloated, and its profound design philosophy is hard for ordinary people to understand. So just make one.

getty的特点: The characteristics of the getty

1、完全基于java nio,基于nio1以及nio2(aio)做了实现,整体代码代码结构很轻量,非常简单易用。

Completely based on Java NIO, based on NIO1 and NIO2 (AIO) to do the implementation, the overall code structure is very lightweight, very easy to use.

2、借鉴了Netty和其他框架的一些优秀设计思想,如责任链、内存池、零复制等优秀设计模式。

Some of the good design ideas of Netty and other frameworks are borrowed, such as responsibility chain, memory pooling, zero copy and other excellent design patterns.

3、Getty为大多数开发场景提供了常用的插件(字符串编解码器,Protobuf编解码器,WebSocket编解码器,MQTT编解码器,心跳超时处理器,IP过滤等)。

Getty provides commonly used plug-ins (String codec, Protobuf codec, WebSocket codec, MQTT codec, heartbeat timeout processor, IP filtering, etc.) for most development scenarios.

4、Getty可在android环境中直接使用(兼容Android4.4或以上版本)

Getty can be used directly in an android environment (compatible with Android4.4 or above)

5、Getty同时提供TCP和UDP支持,并以几乎相同的方式使用它们,极大地提高了易用性。

Getty provides support for both TCP and UDP and USES them in much the same way, greatly improving ease of use.

5、Getty的内置处理器在使用期间支持热交换设计,每个处理器可以灵活组合。

Getty's built-in processor supports the hot-swap design during use, and each processor can be combined flexibly.

6、框架拥有非常好的拓展性,处理器拓展非常简单,大大降低了拓展开发成本。

The framework has a very good scalability, processor scalability is very simple, greatly reducing the cost of expansion development.

7、高效和稳定性能,相同条件下同时发送百万消息的耗时居然比netty还少。

High efficiency and stable performance, it takes less time than netty to send millions of messages simultaneously under the same conditions.

8、使用方式与netty非常相似,只要有netty是使用经验,使用getty几乎不需要额外学习。

Much like Netty, using Getty requires little extra learning as long as Netty is experienced.

简单使用 Simple to use

Maven

在项目的pom.xml的dependencies中加入依赖:

Dependencies are included in the Projects Pom.XML dependencies

        <dependency>
            <groupId>com.gettyio</groupId>
            <artifactId>getty-core</artifactId>
            <version>1.4.8</version>
        </dependency>

Gradle

compile group: 'com.gettyio', name: 'getty-core', version: '1.4.8'

非Maven项目 (No Maven)

到中央仓库下载jar包导入到工程中

Go to the central repository and download the JAR package into the project

链接(link):https://mvnrepository.com/artifact/com.gettyio/getty-core

点击跳转到中央仓库 jump to the central

更多详情与文档 More details and documentation

更多详情,请点击( For more details, click here) wikiwiki

提供bug反馈或建议 Provide bug feedback or Suggestions

create by

gogym

email:[email protected]

getty交流群1 :708758323

进群希望能star一下哦

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].