Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wiki 中需要提到不能同时使用的通信方式组合 #43

Open
crazywhalecc opened this issue Feb 8, 2022 · 1 comment
Open
Labels
area/docs 关于文档 area/function 关于功能 kind/feature 这是个功能/特性

Comments

@crazywhalecc
Copy link
Member

crazywhalecc commented Feb 8, 2022

描述

通信方式不能混用:

  • Swoole 驱动下如果同时设置了 WS Server 和 HTTP Server,那么虽然都可以使用,但 HTTP Server 的端口参数将会被忽略,将会与 WS Server 相同。
  • Workerman 驱动下只能选择启用 HTTP Server 或 WS Server 的一种,不能同时使用。
  • 如果没有任何 Server 被启用,则将会持续使用单进程模式运行整个 LibOneBot。
  • 如果 Server 和任一 Client 被启用,则将会在 Server 监听之后在相应的工作进程内发起 Client 连接。

例子

虽然可以解决此问题,但是需要再把协议重写一遍走裸的 TCP 了。按理说没必要,而且 OneBot 标准也没有明确规定必须实现所有通信方式的自由组合,只要保证其中一种可以使用即可(但四种都要有)。

@crazywhalecc crazywhalecc added area/docs 关于文档 area/function 关于功能 kind/feature 这是个功能/特性 labels Feb 8, 2022
@sunxyw
Copy link
Collaborator

sunxyw commented Feb 8, 2022

确实,没有必要,毕竟大部分开发者的需求并不需要同时开启所有通信方式。

Swoole 驱动下如果同时设置了 WS Server 和 HTTP Server,那么虽然都可以使用,但 HTTP Server 的端口参数将会被忽略,将会与 WS Server 相同。
Workerman 驱动下只能选择启用 HTTP Server 或 WS Server 的一种,不能同时使用。
如果没有任何 Server 被启用,则将会持续使用单进程模式运行整个 LibOneBot。
如果 Server 和任一 Client 被启用,则将会在 Server 监听之后在相应的工作进程内发起 Client 连接。

在文档内注明即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docs 关于文档 area/function 关于功能 kind/feature 这是个功能/特性
Projects
None yet
Development

No branches or pull requests

2 participants