このプロジェクトについて
cellnet は、Go 言語で記述された高性能・コンポーネント化・拡張容易なオープンソースのサーバーネットワークライブラリです。複数のバージョンを経て、初心者の学習にも適し、私用・商用プロジェクト、特にゲームサーバー分野で広く利用されています。
## 主な特徴
- **トランスポートプロトコル対応**:
- TCP:コネクタの再接続、リスナーのグレースフルリスタートをサポート。
- UDP:純粋な UDP の裸パケット送受信。
- HTTP(テスト中):JSON と form の送受信をサポートし、ゲームサーバーと SDK の連携に便利ですが、大規模な Web サービスには gin などの専門ライブラリを推奨。
- WebSocket:gorilla/websocket に基づいて実装。
- **コーデック**:
- Google Protobuf、JSON、バイナリプロトコル(goobjfmt)、ProtoPlus(protoplus)などのエンコード形式を内蔵。
- 混合エンコードの送受信をサポートし、コード変更なしで異なるエンコードと言語のサーバーと同時通信可能。
- **キューモデル**:
- シングルスレッド非同期ロジック(MMORPG 向け)、マルチスレッド同期ロジック(ロボット向け)、マルチスレッド並行ロジック(ゲートウェイ、HTTP サーバー向け)をサポート。
- **RPC**:同期および非同期 RPC をサポート。
- **メッセージログ**:送受信メッセージの各フィールドを簡単に確認可能。
## アーキテクチャと拡張
cellnet は Processor と Peer を高度に抽象化しており、ユーザーはさまざまなネットワークカプセル化のニーズに合わせて水平拡張できます。カスタム Codec、Peer、Processor をサポートします。
## 使用例
サーバーとクライアントの簡単な例を提供し、Peer の作成、プロセッサのバインド、メッセージの送受信方法を示します。
## 取得とコンパイル
Go 1.10 以上が必要で、`go get` で関連する依存関係を取得します。
## ドキュメントとサポート
キュー、Peer、メッセージ処理、拡張カスタマイズなどのドキュメント、および FAQ とバージョン履歴を提供します。
## 貢献者
複数の貢献者がバグ修正とパフォーマンス最適化に貢献しました。
## バージョン履歴
v4(2018.5)、v3(2017.8)、v2(2017.1)、v1(2015.8)。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.