server.listen(options[, callback])


如果指定了 port,则其行为与 server.listen([port[, host[, backlog]]][, callback]) 相同。 否则,如果指定了 path,则其行为与 server.listen(path[, backlog][, callback]) 相同。 如果未指定任何一个,则会抛出错误。

如果 exclusivefalse(默认),则集群工作进程将使用相同的底层句柄,允许共享连接处理职责。 当 exclusivetrue 时,句柄不共享,尝试共享端口会导致错误。 下面展示了监听独占端口的示例。

server.listen({
  host: 'localhost',
  port: 80,
  exclusive: true
});

以 root 身份启动 IPC 服务器可能会导致非特权用户无法访问服务器路径。 使用 readableAllwritableAll 将使所有用户都可以访问服务器。

If port is specified, it behaves the same as server.listen([port[, host[, backlog]]][, callback]). Otherwise, if path is specified, it behaves the same as server.listen(path[, backlog][, callback]). If none of them is specified, an error will be thrown.

If exclusive is false (default), then cluster workers will use the same underlying handle, allowing connection handling duties to be shared. When exclusive is true, the handle is not shared, and attempted port sharing results in an error. An example which listens on an exclusive port is shown below.

server.listen({
  host: 'localhost',
  port: 80,
  exclusive: true
});

Starting an IPC server as root may cause the server path to be inaccessible for unprivileged users. Using readableAll and writableAll will make the server accessible for all users.