Skip to content

Latest commit

 

History

History
131 lines (91 loc) · 4.87 KB

File metadata and controls

131 lines (91 loc) · 4.87 KB

Cyaim.WebSocketServer Documentation Center

Welcome to the Cyaim.WebSocketServer documentation center. This documentation provides a complete guide to using the library, organized by modules, to help you quickly understand and use various features.

📚 Documentation Index

Core Documentation

Feature Modules

🚀 Quick Navigation

I'm a beginner, where do I start?

  1. Read Quick Start to understand basic concepts
  2. Check Core Library to learn basic features
  3. Refer to sample projects for practical applications

I need to implement cluster functionality

  1. Read Cluster Module to understand cluster architecture
  2. Choose transport: WebSocket, Redis, RabbitMQ, or Hybrid
  3. Check Cluster Transports for extension packages
  4. For automatic discovery and load balancing, see Hybrid Cluster Transport

I need monitoring and statistics

  1. Read Metrics to understand monitoring features
  2. Check Dashboard for visualization interface
  3. Configure OpenTelemetry to export metrics

I need to understand configuration options

  1. Read Configuration Guide for all configurations
  2. Refer to API Reference for detailed parameters
  3. Check configuration files in sample projects

📦 Project Structure

Cyaim.WebSocketServer/
├── Cyaim.WebSocketServer/              # Core library
│   ├── Infrastructure/
│   │   ├── Cluster/                    # Cluster functionality
│   │   ├── Handlers/                   # Handlers
│   │   ├── Configures/                 # Configuration
│   │   └── Metrics/                    # Metrics
│   ├── Middlewares/                    # Middlewares
│   └── ...
├── Cyaim.WebSocketServer.Dashboard/    # Dashboard backend
├── Cyaim.WebSocketServer.Cluster.*/   # Cluster transport extensions
├── Sample/                             # Sample projects
└── docs/                               # Documentation directory
    ├── en/                             # English documentation
    └── zh-cn/                          # Chinese documentation

🎯 Features

Core Features

  • Lightweight & High Performance - Based on ASP.NET Core, excellent performance
  • Routing System - MVC-like routing mechanism, supports RESTful API
  • Full Duplex Communication - Supports bidirectional communication
  • Multiplexing - Single connection supports multiple requests/responses
  • Pipeline Processing - Supports middleware pipeline pattern

Cluster Features

  • Multi-node Cluster - Supports horizontal scaling
  • Raft Protocol - Raft-based consensus protocol
  • Auto Routing - Automatic cross-node message routing
  • Fault Tolerance - Automatic node failure handling
  • Graceful Shutdown - Supports connection migration and graceful shutdown

Monitoring Features

  • Real-time Statistics - Connection count, message count, bandwidth, etc.
  • OpenTelemetry - Standard metrics export
  • Dashboard - Visual monitoring interface
  • Performance Analysis - Detailed performance metrics

🔧 Supported .NET Versions

  • .NET Standard 2.1
  • .NET 6.0
  • .NET 7.0
  • .NET 8.0
  • .NET 9.0

📝 Version Information

Current Version: 1.7.8

Check CHANGELOG.md for version history.

🤝 Contributing

Contributions are welcome! Please check CONTRIBUTING.md for contribution guidelines.

📄 License

This project is licensed under LICENSE.

🔗 Related Links

💡 Get Help

  • Check the troubleshooting section in the documentation
  • Submit an Issue on GitHub
  • Check sample projects for practical usage

Last Updated: 2024-12-XX