project-mirai / mirai-api-http

Mirai HTTP API (console) plugin
GNU Affero General Public License v3.0
1.66k stars 343 forks source link

使用 reverse-ws 报错 #524

Closed Rei1mu closed 2 years ago

Rei1mu commented 2 years ago

报错 image 版本 image

ryoii commented 2 years ago

配置文件?请求方式只能是GET

Rei1mu commented 2 years ago

确实,更改之后不报错了。 不过目前reverse没有连上,没有推送过来就有点迷惑

adapters:
  - http
  - reverse-ws
## 是否开启认证流程, 若为 true 则建立连接时需要验证 verifyKey
## 建议公网连接时开启
enableVerify: false
verifyKey: 123456

## 开启一些调式信息
debug: true

## 是否开启单 session 模式, 若为 true,则自动创建 session 绑定 console 中登录的 bot
## 开启后,接口中任何 sessionKey 不需要传递参数
## 若 console 中有多个 bot 登录,则行为未定义
## 确保 console 中只有一个 bot 登陆时启用
singleMode: false

## 历史消息的缓存大小
## 同时,也是 http adapter 的消息队列容量
cacheSize: 4096

## adapter 的单独配置,键名与 adapters 项配置相同
adapterSettings:
  ## 详情看 http adapter 使用说明 配置
  http:
    host: localhost
    port: 7777
    cors: [*]

  ## 详情看 websocket adapter 使用说明 配置
  ws:
    host: localhost
    port: 7777
    reservedSyncId: -1

  reverse-ws:
reverse-ws:
    ## 远端 websocket server 地址配置
    destinations:
      ## 请远端 server host
    - host: localhost
      ## 远端 server 端口
      port: 7777
      ## 请求路径
      path: /
      ## 协议,[ws, wss]
      protocol: ws
      ## 请求方式,通常为 GET
      method: GET
      ## 额外参数,该连接有效
      extraParameters:
        p: 1
      ## 额外请求头,该连接有效
      extraHeaders:
        q: 1

    ## 同上
    - host: localhost
      port: 7777
      path: /
      protocol: wss
      method: POST

    ## 额外请求参数,全 client 有效; 会被具体 destination 中的覆盖
    extraParameters:
      commonParameter: common

    ## 额外请求头,全 client 有效; 会被具体 destination 中的覆盖
    extraHeaders:
      commonHeader: header

    ## websocket 用于消息同步的字段为 syncId, 一般值为请求时的原值,用于同步一次请求与响应
    ## 对于由 websocket client 主动发出的通知, 固定使用一个 syncId, 默认为 ”-1“
    reservedSyncId: -1
ryoii commented 2 years ago

reverse-ws: 写重复了,配置文件是不是都加载出问题了,调整好配置文件

还有这个是真实的配置文件?本地开启7777端口的ws,怎么会用reverse-ws去连本地7777端口的ws server

Rei1mu commented 2 years ago

image 是,我反应过来了,修正了。 不过依然连不上server,有没有重连的机制 以及推送的日志依然是没有

adapters:
  - http
  - reverse-ws
## 是否开启认证流程, 若为 true 则建立连接时需要验证 verifyKey
## 建议公网连接时开启
enableVerify: false
verifyKey: 123456

## 开启一些调式信息
debug: true

## 是否开启单 session 模式, 若为 true,则自动创建 session 绑定 console 中登录的 bot
## 开启后,接口中任何 sessionKey 不需要传递参数
## 若 console 中有多个 bot 登录,则行为未定义
## 确保 console 中只有一个 bot 登陆时启用
singleMode: false

## 历史消息的缓存大小
## 同时,也是 http adapter 的消息队列容量
cacheSize: 4096

## adapter 的单独配置,键名与 adapters 项配置相同
adapterSettings:
  ## 详情看 http adapter 使用说明 配置
  http:
    host: localhost
    port: 5700
    cors: [*]

reverse-ws:
    ## 远端 websocket server 地址配置
    destinations:
      ## 请远端 server host
    - host: localhost
      ## 远端 server 端口
      port: 7777
      ## 请求路径
      path: /
      ## 协议,[ws, wss]
      protocol: ws
      ## 请求方式,通常为 GET
      method: GET
      ## 额外参数,该连接有效
      extraParameters:
        p: 1
      ## 额外请求头,该连接有效
      extraHeaders:
        q: 1

    ## 额外请求参数,全 client 有效; 会被具体 destination 中的覆盖
    extraParameters:
      commonParameter: common

    ## 额外请求头,全 client 有效; 会被具体 destination 中的覆盖
    extraHeaders:
      commonHeader: header

    ## websocket 用于消息同步的字段为 syncId, 一般值为请求时的原值,用于同步一次请求与响应
    ## 对于由 websocket client 主动发出的通知, 固定使用一个 syncId, 默认为 ”-1“
    reservedSyncId: -1
ryoii commented 2 years ago

缩进也还是不对 (汗

Rei1mu commented 2 years ago

我明白我的情况了,感觉还是重连机制问题,我那边server再启动的时候这边似乎没有连接,然后反复改这边参数(汗,用惯了onebot的节奏

ryoii commented 2 years ago

另开一个issue吧,那这个issue 我先关闭了