server.listen(options[, callback])
曆史
版本 | 變化 |
---|---|
v15.6.0 | 添加了AbortSignal 支持。 |
v11.4.0 | 支持 |
v0.11.14 | 添加於:v0.11.14 |
參數
options
<Object>必需的。支持以下屬性:port
<number>host
<string>path
<string> 如果指定了port
,將被忽略。請參閱Identifying paths for IPC connections。backlog
<number>server.listen()
exclusive
<boolean> 默認:false
readableAll
<boolean> IPC 服務器使管道對所有用戶都可讀。 默認:false
。writableAll
<boolean> 對於 IPC 服務器,使管道對所有用戶都是可寫的。 默認:false
。ipv6Only
<boolean> 對於 TCP 服務器,將ipv6Only
設置為true
將禁用 dual-stack 支持,即綁定到主機::
不會綁定0.0.0.0
。 默認:false
。signal
<AbortSignal> AbortSignal,可用於關閉偵聽服務器。
callback
<Function> 函數。- 返回: <net.Server>
如果指定了 port
,它的行為與
相同。否則,如果指定了 server.listen([port[, host[, backlog]]][, callback])
path
,它的行為與
相同。如果沒有指定它們,則會拋出錯誤。server.listen(path[, backlog][, callback])
如果 exclusive
是 false
(默認),那麽集群工作人員將使用相同的底層句柄,從而允許共享連接處理職責。當 exclusive
為 true
時,句柄不共享,嘗試共享端口會導致錯誤。下麵顯示了一個在獨占端口上偵聽的示例。
server.listen({
host: 'localhost',
port: 80,
exclusive: true
});
當 exclusive
是 true
並且底層句柄是共享的時,可能有多個工作人員查詢具有不同積壓的句柄。在這種情況下,將使用第一個傳遞給主進程的backlog
。
以 root 身份啟動 IPC 服務器可能會導致非特權用戶無法訪問服務器路徑。使用readableAll
和writableAll
將使所有用戶都可以訪問服務器。
如果啟用了signal
選項,則在相應的AbortController
上調用.abort()
類似於在服務器上調用.close()
:
const controller = new AbortController();
server.listen({
host: 'localhost',
port: 80,
signal: controller.signal
});
// Later, when you want to close the server.
controller.abort();
相關用法
- Node.js server.listen()用法及代碼示例
- Node.js server.addContext()用法及代碼示例
- Node.js server.close()用法及代碼示例
- Node.js server.setSecureContext()用法及代碼示例
- Node.js server.setTicketKeys()用法及代碼示例
- Node.js server.address()用法及代碼示例
- Node.js server.getTicketKeys()用法及代碼示例
- Node.js serverhttp2session.origin()用法及代碼示例
- Node.js serverhttp2session.altsvc()用法及代碼示例
- Node.js socket.bind()用法及代碼示例
- Node.js stream.Writable.uncork()用法及代碼示例
- Node.js split()用法及代碼示例
- Node.js stream.Readable.take(limit[, options])用法及代碼示例
- Node.js stream.Readable.pipe(destination[, options])用法及代碼示例
- Node.js socket.setRecvBufferSize()用法及代碼示例
- Node.js socket.getSendBufferSize()用法及代碼示例
- Node.js stats.ctimeMs屬性用法及代碼示例
- Node.js stream.Readable.setEncoding(encoding)用法及代碼示例
- Node.js stats.isSymbolicLink()用法及代碼示例
- Node.js stats.atimeMs屬性用法及代碼示例
- Node.js sort()用法及代碼示例
- Node.js stream.Readable.some(fn[, options])用法及代碼示例
- Node.js stream.Readable.map(fn[, options])用法及代碼示例
- Node.js socket.setBroadcast()用法及代碼示例
- Node.js socket.ref()用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 server.listen(options[, callback])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。