2014-01-17 31 views
2

According to the docs http服務器的多個主機,創建服務器可任選地收聽特定的主機:收聽與node.js的

server.listen(port, [host], [backlog], [callback])

開始接受在指定的porthost連接。如果省略了host,則服務器將接受指向任何IPv4地址的連接(INADDR_ANY)。

因此,您可以收聽單個主機或任何主機。

有沒有辦法聽幾個特定的​​主機?

+1

或者,您可以只檢查'req.headers.host',並以404的方式回覆所有人,但您希望回覆的人。 – adeneo

+0

@adeneo你的提議假設其他接口上沒有其他東西需要他的端口。在某些情況下,您提出的建議也存在一些安全問題。處理TCP連接以及如何在應用層處理請求是完全不同的問題。 – Brad

回答

5

爲此,您必須添加額外的HTTP服務器。但是,您可以爲每個回調使用相同的回調。

如果您使用的是Express,這與對app.listen()的額外呼叫一樣簡單。

+2

啊同樣的回調,這太棒了。我可以遍歷一組主機並將回調附加到每個主機。 – Redsandro