https://github.com/halia-group/halia
Halia is a component-based network application framework for rapid development of maintainable high-performance servers and clients.
https://github.com/halia-group/halia
network
Last synced: 5 months ago
JSON representation
Halia is a component-based network application framework for rapid development of maintainable high-performance servers and clients.
- Host: GitHub
- URL: https://github.com/halia-group/halia
- Owner: halia-group
- License: mit
- Created: 2021-01-09T14:18:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-02-10T08:35:24.000Z (over 4 years ago)
- Last Synced: 2025-03-12T23:02:40.684Z (over 1 year ago)
- Topics: network
- Language: Go
- Homepage: https://halia-group.github.io/halia
- Size: 205 KB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README-CN.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Halia
Halia是一个基于组件化的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。
## Links
+ [文档地址](https://halia-group.github.io/halia/)
## Features
+ 组件化
+ 可扩展
+ 高性能
## 数据流
```
-------------------------------------------
-> handler1 -> ... handlerN ->
head tail
<- handler1 <- ... handlerN <-
--------------------------------------------
```
## 内置解码器
+ DebugEncoder/DebugDecoder: 将流经数据打印在标准错误输出,方便调试
+ FixedLengthFrameDecoder: 定长报文解码器
+ LengthFieldBasedFrameDecoder: 基于长度字段的变长报文解码器
+ LineBasedFrameDecoder: 基于换行符的报文解码器
## 内置协议编解码器
+ Http协议
## 示例
+ [Echo](examples/echo),回显服务器,基于LineBasedFrameDecoder实现
+ [Time](examples/time),时间服务器,基于FixedLengthFrameDecoder实现,报文固定为8字节长度时间戳
+ [Chat](https://github.com/halia-group/halia-chat),聊天服务器,基于LengthFieldBasedFrameDecoder实现,低耦合/高扩展性,扩展数据包只需要注册到`PacketFactory`和`ProcessorFactory`即可。