Node.js v18.8.0 文档


目录

net 网络#

中英对照

node:net 模块提供了异步的网络 API,用于创建基于流的 TCP 或 IPC 服务器 (net.createServer()) 和客户端 (net.createConnection())。


IPC 支持#

中英对照

node:net 模块在 Windows 上使用命名管道支持 IPC,在其他操作系统上则使用 Unix 域套接字。

标识 IPC 连接的路径#

中英对照

net.connect()net.createConnection()server.listen()socket.connect() 采用 path 参数标识 IPC 端点。


net.BlockList#

中英对照

BlockList 对象可与一些网络 API 一起使用,以指定用于禁用对特定 IP 地址、IP 范围或 IP 子网的入站或出站访问的规则。

blockList.addAddress(address[, type])#

中英对照

    添加规则以阻止给定的 IP 地址。

    blockList.addRange(start, end[, type])#

    中英对照

      添加规则以阻止从 start(包含)到 end(包含)的 IP 地址范围。

      blockList.addSubnet(net, prefix[, type])#

      中英对照

        添加规则以阻止指定为子网掩码的 IP 地址范围。

        blockList.check(address[, type])#

        中英对照

          如果给定的 IP 地址与添加到 BlockList 的任何规则匹配,则返回 true

          
          

          blockList.rules#

          中英对照

            添加到阻止列表的规则列表。

            net.SocketAddress#

            new net.SocketAddress([options])#

            中英对照

              socketaddress.address#

              中英对照

                socketaddress.family#

                中英对照

                  socketaddress.flowlabel#

                  中英对照

                    socketaddress.port#

                    中英对照

                      net.Server#

                      中英对照

                        此类用于创建 TCP 或 IPC 服务器。

                        new net.Server([options][, connectionListener])#

                        中英对照

                          net.Server 是具有以下事件的 EventEmitter

                          'close' 事件#

                          中英对照

                          服务器关闭时触发。 如果连接存在,则在所有连接结束之前不会触发此事件。

                          'connection' 事件#

                          中英对照

                            建立新连接时触发。 socketnet.Socket 的实例。

                            'error' 事件#

                            中英对照

                              发生错误时触发。 与 net.Socket 不同,除非手动调用 server.close(),否则 'close' 事件不会在此事件之后直接触发。 参见 server.listen() 讨论中的示例。

                              'listening' 事件#

                              中英对照

                              在调用 server.listen() 后绑定服务器时触发。

                              'drop' 事件#

                              中英对照

                              当连接数达到 server.maxConnections 的阈值时,服务器将丢弃新的连接并触发 'drop' 事件。 如果是 TCP 服务器,参数如下,否则参数为 undefined

                                server.address()#

                                中英对照

                                  如果监听 IP 套接字,则返回操作系统报告的服务器的绑定 address、地址 family 名称和 port(用于在获取操作系统分配的地址时查找分配的端口):{ port: 12346, family: 'IPv4', address: '127.0.0.1' }

                                  
                                  

                                  server.close([callback])#

                                  中英对照

                                    停止服务器接受新连接并保持现有连接。 该函数是异步的,当所有连接都结束并且服务器触发 'close' 事件时,则服务器最终关闭。 一旦 'close' 事件发生,则可选的 callback 将被调用。 与该事件不同,如果服务器在关闭时未打开,它将以 Error 作为唯一参数被调用。

                                    server.getConnections(callback)#

                                    中英对照

                                      异步获取服务器上的并发连接数。 当套接字被发送到分叉时工作。

                                      server.listen()#

                                      中英对照

                                      启动监听连接的服务器。 net.Server 可以是 TCP 或 IPC 服务器,这取决于它监听什么。

                                        
                                        
                                        server.listen(handle[, backlog][, callback])#

                                        中英对照

                                          启动服务器,监听已绑定到端口、Unix 域套接字或 Windows 命名管道的给定 handle 上的连接。

                                          server.listen(options[, callback])#

                                          中英对照

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

                                            
                                            

                                            
                                            
                                            server.listen(path[, backlog][, callback])#

                                            中英对照

                                              启动 IPC 服务器,监听给定 path 上的连接。

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

                                              中英对照

                                                启动 TCP 服务器,监听给定 porthost 上的连接。

                                                server.listening#

                                                中英对照

                                                  server.maxConnections#

                                                  中英对照

                                                    设置此属性以在服务器的连接计数变高时拒绝连接。

                                                    server.ref()#

                                                    中英对照

                                                      unref() 相反,如果它是唯一剩下的服务器(默认行为),则在以前的 unref 的服务器上调用 ref() 不会让程序退出。 如果服务器被 ref,则再次调用 ref() 将无效。

                                                      server.unref()#

                                                      中英对照

                                                        如果服务器是事件系统中唯一的活动服务器,则在服务器上调用 unref() 将允许程序退出。 如果服务器已经被 unref,则再次调用 unref() 将无效。

                                                        net.Socket#

                                                        中英对照

                                                          此类是 TCP 套接字或流式 IPC 端点(在 Windows 上使用命名管道,否则使用 Unix 域套接字)的抽象。 它也是 EventEmitter

                                                          new net.Socket([options])#

                                                          中英对照

                                                            创建新的套接字对象。

                                                            'close' 事件#

                                                            中英对照

                                                              一旦套接字完全关闭就触发。 参数 hadError 是布尔值,表示套接字是否由于传输错误而关闭。

                                                              'connect' 事件#

                                                              中英对照

                                                              当成功建立套接字连接时触发。 参见 net.createConnection()

                                                              'data' 事件#

                                                              中英对照

                                                                接收到数据时触发。 参数 data 将是 BufferString。 数据的编码由 socket.setEncoding() 设置。

                                                                'drain' 事件#

                                                                中英对照

                                                                当写缓冲区变空时触发。 可用于限制上传。

                                                                'end' 事件#

                                                                中英对照

                                                                当套接字的另一端表示传输结束时触发,从而结束套接字的可读端。

                                                                'error' 事件#

                                                                中英对照

                                                                  发生错误时触发。 'close' 事件将在此事件之后直接调用。

                                                                  'lookup' 事件#

                                                                  中英对照

                                                                  在解析主机名之后但在连接之前触发。 不适用于 Unix 套接字。

                                                                    'ready' 事件#

                                                                    中英对照

                                                                    当套接字准备好使用时触发。

                                                                    'timeout' 事件#

                                                                    中英对照

                                                                    如果套接字因不活动而超时则触发。 这只是通知套接字已空闲。 用户必须手动关闭连接。

                                                                    socket.address()#

                                                                    中英对照

                                                                      返回操作系统报告的绑定 address、地址 family 名称和套接字的 port{ port: 12346, family: 'IPv4', address: '127.0.0.1' }

                                                                      socket.bufferSize#

                                                                      中英对照

                                                                        此属性显示为写入而缓冲的字符数。 缓冲区可能包含编码后长度未知的字符串。 所以这个数字只是缓冲区中字节数的近似值。

                                                                        socket.bytesRead#

                                                                        中英对照

                                                                          接收的字节数。

                                                                          socket.bytesWritten#

                                                                          中英对照

                                                                            发送的字节数。

                                                                            socket.connect()#

                                                                            中英对照

                                                                            在给定的套接字上发起连接。

                                                                              socket.connect(options[, connectListener])#

                                                                              中英对照

                                                                                在给定的套接字上发起连接。 一般不需要这个方法,套接字应该用 net.createConnection() 创建和打开。 仅在实现自定义套接字时使用它。

                                                                                      
                                                                                      
                                                                                      socket.connect(path[, connectListener])#

                                                                                      中英对照

                                                                                        在给定的套接字上发起 IPC 连接。

                                                                                        socket.connect(port[, host][, connectListener])#

                                                                                        中英对照

                                                                                          在给定的套接字上发起 TCP 连接。

                                                                                          socket.connecting#

                                                                                          中英对照

                                                                                            如果 true,则 socket.connect(options[, connectListener]) 已被调用且尚未完成。 它将保持 true 直到套接字连接,然后将其设置为 false 并触发 'connect' 事件。 请注意,socket.connect(options[, connectListener]) 回调是 'connect' 事件的监听器。

                                                                                            socket.destroy([error])#

                                                                                            中英对照

                                                                                              确保此套接字上不再发生 I/O 活动。 销毁流并关闭连接。

                                                                                              socket.destroyed#

                                                                                              中英对照

                                                                                                有关详细信息,请参阅 writable.destroyed

                                                                                                socket.end([data[, encoding]][, callback])#

                                                                                                中英对照

                                                                                                  半关闭套接字。 即,它发送一个 FIN 数据包。 服务器可能仍会发送一些数据。

                                                                                                  socket.localAddress#

                                                                                                  中英对照

                                                                                                    远程客户端连接的本地 IP 地址的字符串表示形式。 例如,在监听 '0.0.0.0' 的服务器中,如果客户端连接到 '192.168.1.1',则 socket.localAddress 的值将是 '192.168.1.1'

                                                                                                    socket.localPort#

                                                                                                    中英对照

                                                                                                      本地端口的数字表示。 例如,8021

                                                                                                      socket.localFamily#

                                                                                                      中英对照

                                                                                                        本地 IP 族的字符串表示形式。 'IPv4''IPv6'

                                                                                                        socket.pause()#

                                                                                                        中英对照

                                                                                                          暂停读取数据。 也就是说,不会触发 'data' 事件。 用于限制上传。

                                                                                                          socket.pending#

                                                                                                          中英对照

                                                                                                            如果套接字尚未连接,则为 true,要么是因为 .connect() 尚未被调用,要么是因为它仍在连接过程中(参见 socket.connecting)。

                                                                                                            socket.ref()#

                                                                                                            中英对照

                                                                                                              unref() 相反,如果它是唯一剩下的套接字(默认行为),则在以前的 unref 套接字上调用 ref() 不会让程序退出。 如果套接字是 ref 的,再次调用 ref 将无效。

                                                                                                              socket.remoteAddress#

                                                                                                              中英对照

                                                                                                                远程 IP 地址的字符串表示形式。 例如,'74.125.127.100''2001:4860:a005::68'。 如果套接字被破坏(例如,如果客户端断开连接),则值可能是 undefined

                                                                                                                socket.remoteFamily#

                                                                                                                中英对照

                                                                                                                  远程 IP 系列的字符串表示形式。 'IPv4''IPv6'

                                                                                                                  socket.remotePort#

                                                                                                                  中英对照

                                                                                                                    远程端口的数字表示。 例如,8021

                                                                                                                    socket.resetAndDestroy()#

                                                                                                                    中英对照

                                                                                                                      通过发送 RST 数据包关闭 TCP 连接并销毁流。 如果此 TCP 套接字处于连接状态,则它会发送一个 RST 数据包,一旦连接就销毁此 TCP 套接字。 否则,它将使用 ERR_SOCKET_CLOSED 错误调用 socket.destroy。 如果此不是 TCP 套接字(例如管道),则调用此方法将立即抛出 ERR_INVALID_HANDLE_TYPE 错误。

                                                                                                                      socket.resume()#

                                                                                                                      中英对照

                                                                                                                        调用 socket.pause() 后继续读取。

                                                                                                                        socket.setEncoding([encoding])#

                                                                                                                        中英对照

                                                                                                                          将套接字的编码设置为可读流。 有关详细信息,请参阅 readable.setEncoding()

                                                                                                                          socket.setKeepAlive([enable][, initialDelay])#

                                                                                                                          中英对照

                                                                                                                            启用/禁用保持活动功能,并可选择在空闲套接字上发送第一个保持活动探测之前设置初始延迟。

                                                                                                                              socket.setNoDelay([noDelay])#

                                                                                                                              中英对照

                                                                                                                                启用/禁用 Nagle 算法的使用。

                                                                                                                                socket.setTimeout(timeout[, callback])#

                                                                                                                                中英对照

                                                                                                                                  将套接字设置为在套接字上 timeout 毫秒不活动后超时。 默认情况下 net.Socket 没有超时。

                                                                                                                                  
                                                                                                                                  

                                                                                                                                  socket.timeout#

                                                                                                                                  中英对照

                                                                                                                                    socket.setTimeout() 设置的套接字超时(以毫秒为单位)。 如果未设置超时,则为 undefined

                                                                                                                                    socket.unref()#

                                                                                                                                    中英对照

                                                                                                                                      如果这是事件系统中唯一的活动套接字,则在套接字上调用 unref() 将允许程序退出。 如果套接字已经被 unref,则再次调用 unref() 将无效。

                                                                                                                                      socket.write(data[, encoding][, callback])#

                                                                                                                                      中英对照

                                                                                                                                        在套接字上发送数据。 第二个参数指定字符串情况下的编码。 它默认为 UTF8 编码。

                                                                                                                                        socket.readyState#

                                                                                                                                        中英对照

                                                                                                                                          此属性将连接状态表示为字符串。

                                                                                                                                            net.connect()#

                                                                                                                                            中英对照

                                                                                                                                            net.createConnection() 的别名。

                                                                                                                                              net.connect(options[, connectListener])#

                                                                                                                                              中英对照

                                                                                                                                                net.createConnection(options[, connectListener]) 的别名。

                                                                                                                                                net.connect(path[, connectListener])#

                                                                                                                                                中英对照

                                                                                                                                                  net.createConnection(path[, connectListener]) 的别名。

                                                                                                                                                  net.connect(port[, host][, connectListener])#

                                                                                                                                                  中英对照

                                                                                                                                                    net.createConnection(port[, host][, connectListener]) 的别名。

                                                                                                                                                    net.createConnection()#

                                                                                                                                                    中英对照

                                                                                                                                                    工厂函数,其创建新的 net.Socket,并立即使用 socket.connect() 发起连接,然后返回启动连接的 net.Socket

                                                                                                                                                      net.createConnection(options[, connectListener])#

                                                                                                                                                      中英对照

                                                                                                                                                        有关可用的选项,请参阅 new net.Socket([options])socket.connect(options[, connectListener])

                                                                                                                                                          
                                                                                                                                                          

                                                                                                                                                          
                                                                                                                                                          

                                                                                                                                                          net.createConnection(path[, connectListener])#

                                                                                                                                                          中英对照

                                                                                                                                                            发起 IPC 连接。

                                                                                                                                                            net.createConnection(port[, host][, connectListener])#

                                                                                                                                                            中英对照

                                                                                                                                                              发起 TCP 连接。

                                                                                                                                                              net.createServer([options][, connectionListener])#

                                                                                                                                                              中英对照

                                                                                                                                                                创建新的 TCP 或 IPC 服务器。

                                                                                                                                                                
                                                                                                                                                                

                                                                                                                                                                
                                                                                                                                                                

                                                                                                                                                                
                                                                                                                                                                

                                                                                                                                                                
                                                                                                                                                                

                                                                                                                                                                net.isIP(input)#

                                                                                                                                                                中英对照

                                                                                                                                                                  如果 input 是 IPv6 地址,则返回 6。 如果 input点十进制表示法中没有前导零的 IPv4 地址,则返回 4。 否则,返回 0

                                                                                                                                                                  
                                                                                                                                                                  

                                                                                                                                                                  net.isIPv4(input)#

                                                                                                                                                                  中英对照

                                                                                                                                                                    如果 input点十进制表示法中没有前导零的 IPv4 地址,则返回 true。 否则,返回 false

                                                                                                                                                                    
                                                                                                                                                                    

                                                                                                                                                                    net.isIPv6(input)#

                                                                                                                                                                    中英对照

                                                                                                                                                                      如果 input 是 IPv6 地址,则返回 true。 否则,返回 false

                                                                                                                                                                      返回顶部