net.createServer([options][, connectionListener])
-
options
<Object>allowHalfOpen
<boolean> 如果设置为false
,那么当可读端结束时,套接字将自动结束可写端。 默认:false
。pauseOnConnect
<boolean> 指示套接字是否应在传入连接时暂停。 默认:false
。noDelay
<boolean> 如果设置为true
,它会在收到新的传入连接后立即禁用 Nagle 算法。 默认:false
。keepAlive
<boolean> 如果设置为true
,它会在收到新的传入连接后立即在套接字上启用 keep-alive 函数,与socket.setKeepAlive([enable][, initialDelay])
false
。keepAliveInitialDelay
<number> 如果设置为正数,它会设置在空闲套接字上发送第一个保活探测之前的初始延迟。 默认:0
。
-
connectionListener
<Function> 自动设置为'connection'
-
返回: <net.Server>
创建一个新的 TCP 或 IPC 服务器。
如果 allowHalfOpen
设置为 true
,当套接字的另一端发出传输结束信号时,服务器只会在显式调用
时发回传输结束。例如,在 TCP 上下文中,当接收到 FIN 打包时,只有在显式调用socket.end()
时才会发回打包的 FIN。在那之前,连接是half-closed(不可读但仍可写)。有关详细信息,请参阅socket.end()
事件和RFC 1122(第 4.2.2.13 节)。'end'
如果 pauseOnConnect
设置为 true
,则与每个传入连接关联的套接字将暂停,并且不会从其句柄中读取任何数据。这允许在进程之间传递连接,而原始进程不会读取任何数据。要开始从暂停的套接字读取数据,请调用
。socket.resume()
服务器可以是 TCP 服务器或 IPC 服务器,具体取决于它的
目标。listen()
下面是一个 TCP 回显服务器的示例,它侦听端口 8124 上的连接:
const net = require('node:net');
const server = net.createServer((c) => {
// 'connection' listener.
console.log('client connected');
c.on('end', () => {
console.log('client disconnected');
});
c.write('hello\r\n');
c.pipe(c);
});
server.on('error', (err) => {
throw err;
});
server.listen(8124, () => {
console.log('server bound');
});
使用 telnet
对此进行测试:
$ telnet localhost 8124
监听套接字 /tmp/echo.sock
:
server.listen('/tmp/echo.sock', () => {
console.log('server bound');
});
使用 nc
连接到 Unix 域套接字服务器:
$ nc -U /tmp/echo.sock
相关用法
- Node.js net.createConnection(options[, connectListener])用法及代码示例
- Node.js net.isIP(input)用法及代码示例
- Node.js net.isIPv6(input)用法及代码示例
- Node.js net.Server.address()用法及代码示例
- Node.js net.Server.listen()用法及代码示例
- Node.js net.Socket.setTimeout(timeout[, callback])用法及代码示例
- Node.js net.BlockList.check(address[, type])用法及代码示例
- Node.js net.isIPv4(input)用法及代码示例
- Node.js new assert.AssertionError(options)用法及代码示例
- Node.js new AsyncResource(type[, options])用法及代码示例
- Node.js new stream.Duplex(options)用法及代码示例
- Node.js new stream.Readable([options])用法及代码示例
- Node.js new Console(options)用法及代码示例
- Node.js new URLSearchParams(obj)用法及代码示例
- Node.js new crypto.Certificate()用法及代码示例
- Node.js new stream.Writable([options])用法及代码示例
- Node.js new URLSearchParams(iterable)用法及代码示例
- Node.js new Agent([options])用法及代码示例
- Node.js new vm.SourceTextModule(code[, options])用法及代码示例
- Node.js new stream.Transform([options])用法及代码示例
- Node.js new PerformanceObserver(callback)用法及代码示例
- Node.js new URL(input[, base])用法及代码示例
- Node.js new URLSearchParams(string)用法及代码示例
- Node.js new assert.CallTracker()用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 net.createServer([options][, connectionListener])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。