socket.connect(options[, connectListener])
曆史
版本 | 變化 |
---|---|
v17.7.0 | 現在支持 |
v12.10.0 | 添加了 |
v6.0.0 |
|
v5.11.0 | 現在支持 |
v0.1.90 | 添加於:v0.1.90 |
參數
options
<Object>connectListener
<Function>socket.connect()
'connect'
- 返回: <net.Socket> 套接字本身。
在給定的套接字上啟動連接。通常不需要此方法,應使用
創建和打開套接字。僅在實現自定義 Socket 時使用。net.createConnection()
對於 TCP 連接,可用的options
是:
port
<number> 必需。套接字應連接的端口。host
<string> 套接字應連接的主機。 默認:'localhost'
。localAddress
<string> 套接字應該連接的本地地址。localPort
<number> 套接字應該連接的本地端口。family
<number> :IP 堆棧的版本。必須是4
、6
或0
。值0
表示允許 IPv4 和 IPv6 地址。 默認:0
。hints
<number>可選的dns.lookup()
提示.lookup
<Function> 自定義查找函數。 默認:dns.lookup()
noDelay
<boolean> 如果設置為true
,它將在套接字建立後立即禁用 Nagle 算法。 默認:false
。keepAlive
<boolean> 如果設置為true
,它會在連接建立後立即在套接字上啟用 keep-alive 函數,與socket.setKeepAlive([enable][, initialDelay])
false
。keepAliveInitialDelay
<number> 如果設置為正數,它會設置在空閑套接字上發送第一個保活探測之前的初始延遲。 默認:0
。
對於IPC 連接,可用的options
有:
path
<string> 必需。客戶端應連接的路徑。請參閱Identifying paths for IPC connections。如果提供,則忽略上麵的 TCP-specific 選項。
對於這兩種類型,可用的options
包括:
onread
<Object>如果指定,傳入數據存儲在單個buffer
並傳遞給提供的callback
當數據到達套接字時。這將導致流函數不提供任何數據。套接字將發出類似的事件'error'
,'end'
, 和'close'
照常。方法如pause()
和resume()
也將按預期運行。buffer
<Buffer> | <Uint8Array> | <Function> 用於存儲傳入數據的可重用內存塊或返回此類數據的函數。callback
<Function> 為每個傳入數據塊調用此函數。向它傳遞了兩個參數:寫入buffer
的字節數和對buffer
的引用。從此函數返回false
到隱式pause()
套接字。該函數將在全局上下文中執行。
以下是使用 onread
選項的客戶端示例:
const net = require('node:net');
net.connect({
port: 80,
onread: {
// Reuses a 4KiB Buffer for every read from the socket.
buffer: Buffer.alloc(4 * 1024),
callback: function(nread, buf) {
// Received data is available in `buf` from 0 to `nread`.
console.log(buf.toString('utf8', 0, nread));
}
}
});
相關用法
- Node.js socket.connect()用法及代碼示例
- Node.js socket.bind()用法及代碼示例
- Node.js socket.setRecvBufferSize()用法及代碼示例
- Node.js socket.getSendBufferSize()用法及代碼示例
- Node.js socket.setBroadcast()用法及代碼示例
- Node.js socket.ref()用法及代碼示例
- Node.js socket.addMembership()用法及代碼示例
- Node.js socket.unref()用法及代碼示例
- Node.js socket.setMulticastLoopback()用法及代碼示例
- Node.js socket.send()用法及代碼示例
- Node.js socket.setTTL()用法及代碼示例
- Node.js socket.address()用法及代碼示例
- Node.js socket.setMulticastTTL()用法及代碼示例
- Node.js socket.setMulticastInterface()用法及代碼示例
- Node.js socket.remoteAddress()用法及代碼示例
- Node.js socket.getRecvBufferSize()用法及代碼示例
- Node.js socket.dropMembership()用法及代碼示例
- Node.js socket.setSendBufferSize()用法及代碼示例
- Node.js sort()用法及代碼示例
- Node.js stream.Writable.uncork()用法及代碼示例
- Node.js split()用法及代碼示例
- Node.js stream.Readable.take(limit[, options])用法及代碼示例
- Node.js serverhttp2session.origin()用法及代碼示例
- Node.js stream.Readable.pipe(destination[, options])用法及代碼示例
- Node.js stats.ctimeMs屬性用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 socket.connect(options[, connectListener])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。