このプロジェクトについて

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)。