在 Bonjour 中,我如何将 Web 服务器连接到广告端口?

In Bonjour how do I hook up a web server to advertised port?

我正在尝试在随机端口上发布 Web 服务,然后连接 Node/Express 服务器以侦听该端口。

我尝试用下面的代码(ES6)来实现它:

import express from 'express';
import bonjour from 'bonjour';
import http from 'http';
import getPort from 'get-port'; // to generate random port

const advertisedPort = await getPort();
const server = bonjour();
const service = server.publish({name:'MyWebServer', port: advertisedPort, type: http});

const app = express();
app.get('/', (res, req) => {
    res.send('Hello World');
});

http.createServer(app).listen(advertisedPort);

然后我得到一个 EADDRINUSE。如果我在 .listen() 中使用另一个端口号,服务器将成功启动。然而,我真正想做的是通告一个端口,然后能够在该端口上监听请求。

误报的人。重新启动修复了它。不好意思打扰大家了