同一个 ESP32 程序上的两个服务器? ESPAsyncWebServer 和 ESP32WebServer

Two server on the same ESP32 program ? ESPAsyncWebServer and ESP32WebServer

我正在开发 esp32 模块,我制作了一个网络界面来显示传感器值,使用:

ESPAsyncWebServer.h 库和 AsyncWebServer 服务器(80);

但现在我想添加一个相机,但对于后者我必须使用:

ESP32WebServer.h 库和 ESP32WebServer server2(80);

请问如何在同一个程序中使用这两个服务器?当我尝试这样做时,我可以编译脚本,但只有服务器 begin.server() 或 begin.server2() 第一个可以工作,第二个没有 !!

我也尝试做 server.end() server2.begin() 来使用其他服务器,但它也不起作用(它说 server2.end() 不存在于ESP32WebServer.h 图书馆)

谢谢,对不起我的英语。

您不能 运行 两个服务器都在同一端口(在本例中为 80)。

端口号唯一标识设备上将处理与该连接关联的数据的软件。同一个端口不能有两个不同的服务器。

摄像头网络服务器软件可能在端口 80 上嵌入了流视频,因此如果您 运行 它在不同的端口号上,它的某些部分可能无法正常工作。

在不同端口创建两个服务器:

ESP32WebServer server(80);   // camera software
AsyncWebServer server2(81);  // everything else

然后您将通过以下链接访问异步网络服务器:

http://esp-ip-address:81/path