跳至正文

flare-core 快速开始

1. 添加依赖

[dependencies]
flare-core = "1.1"
tokio = { version = "1", features = ["full"] }
async-trait = "0.1"

2. 最小服务端(Flare 模式)

use async_trait::async_trait;
use flare_core::common::protocol::{Frame, PayloadCommand};
use flare_core::server::events::handler::ServerEventHandler;
use flare_core::server::FlareServerBuilder;
use std::sync::Arc;

struct Handler;

#[async_trait]
impl ServerEventHandler for Handler {
    async fn handle_message(
        &self,
        _command: &PayloadCommand,
        _connection_id: &str,
    ) -> flare_core::common::error::Result<Option<Frame>> {
        Ok(None)
    }
}

#[tokio::main]
async fn main() -> flare_core::common::error::Result<()> {
    let server = FlareServerBuilder::new("0.0.0.0:8080", Arc::new(Handler)).build()?;

    // start() 启动监听后即返回,不阻塞;进程需要自己保持存活。
    server.start().await?;
    tokio::signal::ctrl_c().await.expect("等待 Ctrl-C");
    server.stop().await
}

3. 客户端连接(概念)

使用 ClientBuilderFlareClientBuilder 指定:

  • 服务端地址(ws:// / wss:// / QUIC)
  • 协议列表与竞速超时
  • Token / 设备 ID(与业务鉴权对接)

完整示例见仓库 examples/

4. 与 Flare IM 栈的关系

组件使用 flare-core 的方式
flare-signaling/gateway生产级 WS/QUIC 接入
flare-im-core-sdk内嵌客户端传输,上层封装 IM 语义

若下一步需要 消息 seq 与会话同步,请转向 flare-im-core-sdk 概览集成路径

5. 检查清单

  • [ ] 已选构建模式(Flare / Observer / Builder)
  • [ ] TLS 与 Token 策略与业务一致
  • [ ] 心跳与空闲断开参数符合负载均衡 / NAT 环境