Skip to content

HTTP Loop 建立链接

HTTP loop 是 websocket 之外的 request-response 传输方式。

端点总览

方法路径作用
POST/mdp/http-loop/connect创建 loop 会话
POST/mdp/http-loop/send发送一条 client-to-server MDP 消息
GET/mdp/http-loop/poll拉取一条 server-to-client MDP 消息
POST/mdp/http-loop/disconnect关闭 loop 会话

session 标识

connect 之后,后续请求需要通过下面任一方式携带 session ID:

  • x-mdp-session-id header
  • sessionId query 参数

connect

请求:

json
{}

响应:

json
{
  "sessionId": "6c8a3b2b-7f2b-4be5-a2d8-1f0c8c4f8b54"
}

轮询链路

  1. POST /connect
  2. 通过 /send 发送 registerClient
  3. 当本地路径目录变化时,可选通过 /send 发送 updateClientCatalog
  4. 持续 GET /poll,直到拿到 callClient204
  5. 通过 /send 回传 callClientResult
  6. POST /disconnect

/poll 上的 waitMs 最大会被限制到 60000

时序图

如果你要看每个端点的精确请求和响应格式,继续阅读:

适合什么时候用

  • 运行时无法保持 websocket
  • 运行环境只支持普通 HTTP 请求响应

模型驱动协议