@fkn/lib/net
Classes
Section titled “Classes”Server
Section titled “Server”Extends
Section titled “Extends”EventEmitter
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Server(options?, connectionListener?): Server;Parameters
Section titled “Parameters”options?
Section titled “options?”ServerOpts & EventEmitterOptions & object
connectionListener?
Section titled “connectionListener?”(socket) => void
Returns
Section titled “Returns”Overrides
Section titled “Overrides”EventEmitter.constructorProperties
Section titled “Properties”connections
Section titled “connections”connections: number;Implementation of
Section titled “Implementation of”TCPServer.connectionslistening
Section titled “listening”listening: boolean;Indicates whether or not the server is listening for connections.
v5.7.0
Implementation of
Section titled “Implementation of”TCPServer.listeningmaxConnections
Section titled “maxConnections”maxConnections: number;Set this property to reject connections when the server’s connection count gets high.
It is not recommended to use this option once a socket has been sent to a child
with child_process.fork().
v0.2.0
Implementation of
Section titled “Implementation of”TCPServer.maxConnectionsMethods
Section titled “Methods”[asyncDispose]()
Section titled “[asyncDispose]()”asyncDispose: Promise<void>;Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”TCPServer.[asyncDispose]address()
Section titled “address()”address(): string | AddressInfo | null;Returns the bound address, the address family name, and port of the server
as reported by the operating system if listening on an IP socket
(useful to find which port was assigned when getting an OS-assigned address):{ port: 12346, family: 'IPv4', address: '127.0.0.1' }.
For a server listening on a pipe or Unix domain socket, the name is returned as a string.
const server = net.createServer((socket) => { socket.end('goodbye\n');}).on('error', (err) => { // Handle errors here. throw err;});
// Grab an arbitrary unused port.server.listen(() => { console.log('opened server on', server.address());});server.address() returns null before the 'listening' event has been
emitted or after calling server.close().
Returns
Section titled “Returns”string | AddressInfo | null
v0.1.90
Implementation of
Section titled “Implementation of”TCPServer.addressclose()
Section titled “close()”close(callback?): this;Stops the server from accepting new connections and keeps existing
connections. This function is asynchronous, the server is finally closed
when all connections are ended and the server emits a 'close' event.
The optional callback will be called once the 'close' event occurs. Unlike
that event, it will be called with an Error as its only argument if the server
was not open when it was closed.
Parameters
Section titled “Parameters”callback?
Section titled “callback?”(err?) => void
Called when the server is closed.
Returns
Section titled “Returns”this
v0.1.90
Implementation of
Section titled “Implementation of”TCPServer.closegetConnections()
Section titled “getConnections()”getConnections(cb): this;Not implemented by the browser transport. This method throws.
Parameters
Section titled “Parameters”(error, count) => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.getConnectionslisten()
Section titled “listen()”Call Signature
Section titled “Call Signature”listen( port?, hostname?, backlog?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”number
hostname?
Section titled “hostname?”string
backlog?
Section titled “backlog?”number
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen( port?, hostname?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”number
hostname?
Section titled “hostname?”string
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen( port?, backlog?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”number
backlog?
Section titled “backlog?”number
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen(port?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”number
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen( path, backlog?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”string
backlog?
Section titled “backlog?”number
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen(path, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”string
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen(options, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”options
Section titled “options”ListenOptions
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen( handle, backlog?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”handle
Section titled “handle”any
backlog?
Section titled “backlog?”number
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen(handle, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”handle
Section titled “handle”any
listeningListener?
Section titled “listeningListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenCall Signature
Section titled “Call Signature”listen( port?, hostname?, backlog?, listeningListener?): this;Starts a TCP listener through WebVPN. Port and host forms are supported. IPC paths and existing Node handles are not supported and reject at runtime.
Parameters
Section titled “Parameters”unknown
hostname?
Section titled “hostname?”unknown
backlog?
Section titled “backlog?”unknown
listeningListener?
Section titled “listeningListener?”unknown
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.listenref(): this;No-op in a browser, which has no Node process-liveness handle.
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.refunref()
Section titled “unref()”unref(): this;No-op in a browser, which has no Node process-liveness handle.
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”TCPServer.unrefSocket
Section titled “Socket”Extends
Section titled “Extends”Duplex
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Socket(options?): Socket;Parameters
Section titled “Parameters”options?
Section titled “options?”SocketConstructorOpts & DuplexOptions<Duplex> & object
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Stream.Duplex.constructorProperties
Section titled “Properties”autoSelectFamilyAttemptedAddresses
Section titled “autoSelectFamilyAttemptedAddresses”autoSelectFamilyAttemptedAddresses: string[];This property is only present if the family autoselection algorithm is enabled in socket.connect(options)
and it is an array of the addresses that have been attempted.
Each address is a string in the form of $IP:$PORT.
If the connection was successful, then the last address is the one that the socket is currently connected to.
v19.4.0
Implementation of
Section titled “Implementation of”NetSocket.autoSelectFamilyAttemptedAddressesbufferSize
Section titled “bufferSize”bufferSize: number;This property shows the number of characters buffered for writing. The buffer may contain strings whose length after encoding is not yet known. So this number is only an approximation of the number of bytes in the buffer.
net.Socket has the property that socket.write() always works. This is to
help users get up and running quickly. The computer cannot always keep up
with the amount of data that is written to a socket. The network connection
simply might be too slow. Node.js will internally queue up the data written to a
socket and send it out over the wire when it is possible.
The consequence of this internal buffering is that memory may grow.
Users who experience large or growing bufferSize should attempt to
“throttle” the data flows in their program with socket.pause() and socket.resume().
v0.3.8
Deprecated
Section titled “Deprecated”Since v14.6.0 - Use writableLength instead.
Implementation of
Section titled “Implementation of”NetSocket.bufferSizebytesRead
Section titled “bytesRead”bytesRead: number;The amount of received bytes.
v0.5.3
Implementation of
Section titled “Implementation of”NetSocket.bytesReadbytesWritten
Section titled “bytesWritten”bytesWritten: number;The amount of bytes sent.
v0.5.3
Implementation of
Section titled “Implementation of”NetSocket.bytesWrittenconnecting
Section titled “connecting”connecting: boolean;If true, socket.connect(options[, connectListener]) was
called and has not yet finished. It will stay true until the socket becomes
connected, then it is set to false and the 'connect' event is emitted. Note
that the socket.connect(options[, connectListener]) callback is a listener for the 'connect' event.
v6.1.0
Implementation of
Section titled “Implementation of”NetSocket.connectingpending
Section titled “pending”pending: boolean;This is true if the socket is not connected yet, either because .connect()has not yet been called or because it is still in the process of connecting
(see socket.connecting).
v11.2.0, v10.16.0
Implementation of
Section titled “Implementation of”NetSocket.pendingreadyState
Section titled “readyState”readyState: "closed" | "opening" | "open" | "readOnly" | "writeOnly";This property represents the state of the connection as a string.
- If the stream is connecting
socket.readyStateisopening. - If the stream is readable and writable, it is
open. - If the stream is readable and not writable, it is
readOnly. - If the stream is not readable and writable, it is
writeOnly.
v0.5.0
Implementation of
Section titled “Implementation of”NetSocket.readyStatetimeout?
Section titled “timeout?”optional timeout?: number;The socket timeout in milliseconds as set by socket.setTimeout().
It is undefined if a timeout has not been set.
v10.7.0
Implementation of
Section titled “Implementation of”NetSocket.timeoutAccessors
Section titled “Accessors”localAddress
Section titled “localAddress”Get Signature
Section titled “Get Signature”get localAddress(): string;The string representation of the local IP address the remote client is
connecting on. For example, in a server listening on '0.0.0.0', if a client
connects on '192.168.1.1', the value of socket.localAddress would be'192.168.1.1'.
v0.9.6
Returns
Section titled “Returns”string
Implementation of
Section titled “Implementation of”NetSocket.localAddresslocalFamily
Section titled “localFamily”Get Signature
Section titled “Get Signature”get localFamily(): string;The string representation of the local IP family. 'IPv4' or 'IPv6'.
v18.8.0, v16.18.0
Returns
Section titled “Returns”string
Implementation of
Section titled “Implementation of”NetSocket.localFamilylocalPort
Section titled “localPort”Get Signature
Section titled “Get Signature”get localPort(): number;The numeric representation of the local port. For example, 80 or 21.
v0.9.6
Returns
Section titled “Returns”number
Implementation of
Section titled “Implementation of”NetSocket.localPortremoteAddress
Section titled “remoteAddress”Get Signature
Section titled “Get Signature”get remoteAddress(): string;The string representation of the remote IP address. For example,'74.125.127.100' or '2001:4860:a005::68'. Value may be undefined if
the socket is destroyed (for example, if the client disconnected).
v0.5.10
Returns
Section titled “Returns”string
Implementation of
Section titled “Implementation of”NetSocket.remoteAddressremoteFamily
Section titled “remoteFamily”Get Signature
Section titled “Get Signature”get remoteFamily(): string;The string representation of the remote IP family. 'IPv4' or 'IPv6'. Value may be undefined if
the socket is destroyed (for example, if the client disconnected).
v0.11.14
Returns
Section titled “Returns”string
Implementation of
Section titled “Implementation of”NetSocket.remoteFamilyremotePort
Section titled “remotePort”Get Signature
Section titled “Get Signature”get remotePort(): number;The numeric representation of the remote port. For example, 80 or 21. Value may be undefined if
the socket is destroyed (for example, if the client disconnected).
v0.5.10
Returns
Section titled “Returns”number
Implementation of
Section titled “Implementation of”NetSocket.remotePortMethods
Section titled “Methods”address()
Section titled “address()”address(): | {} | AddressInfo;Returns the bound address, the address family name and port of the
socket as reported by the operating system:{ port: 12346, family: 'IPv4', address: '127.0.0.1' }
Returns
Section titled “Returns”| {
}
| AddressInfo
v0.1.90
Implementation of
Section titled “Implementation of”NetSocket.addressconnect()
Section titled “connect()”Call Signature
Section titled “Call Signature”connect(options, connectionListener?): this;SOCKET IMPL
Parameters
Section titled “Parameters”options
Section titled “options”SocketConnectOpts
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”NetSocket.connectCall Signature
Section titled “Call Signature”connect( port, host, connectionListener?): this;SOCKET IMPL
Parameters
Section titled “Parameters”number
string
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”NetSocket.connectCall Signature
Section titled “Call Signature”connect(port, connectionListener?): this;SOCKET IMPL
Parameters
Section titled “Parameters”number
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”NetSocket.connectCall Signature
Section titled “Call Signature”connect(path, connectionListener?): this;SOCKET IMPL
Parameters
Section titled “Parameters”string
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”NetSocket.connectCall Signature
Section titled “Call Signature”connect( port, host?, connectionListener?): this;SOCKET IMPL
Parameters
Section titled “Parameters”unknown
unknown
connectionListener?
Section titled “connectionListener?”unknown
Returns
Section titled “Returns”this
Implementation of
Section titled “Implementation of”NetSocket.connectdestroySoon()
Section titled “destroySoon()”destroySoon(): void;Destroys the socket after all data is written. If the finish event was already emitted the socket is destroyed immediately.
If the socket is still writable it implicitly calls socket.end().
Returns
Section titled “Returns”void
v0.3.4
Implementation of
Section titled “Implementation of”NetSocket.destroySoongetTypeOfService()
Section titled “getTypeOfService()”getTypeOfService(): number;Returns
Section titled “Returns”number
ref(): this;Opposite of unref(), calling ref() on a previously unrefed socket will not let the program exit if it’s the only socket left (the default behavior).
If the socket is refed calling ref again will have no effect.
Returns
Section titled “Returns”this
The socket itself.
v0.9.1
Implementation of
Section titled “Implementation of”NetSocket.refresetAndDestroy()
Section titled “resetAndDestroy()”resetAndDestroy(): this;Close the TCP connection by sending an RST packet and destroy the stream.
If this TCP socket is in connecting status, it will send an RST packet and destroy this TCP socket once it is connected.
Otherwise, it will call socket.destroy with an ERR_SOCKET_CLOSED Error.
If this is not a TCP socket (for example, a pipe), calling this method will immediately throw an ERR_INVALID_HANDLE_TYPE Error.
Returns
Section titled “Returns”this
v18.3.0, v16.17.0
Implementation of
Section titled “Implementation of”NetSocket.resetAndDestroysetKeepAlive()
Section titled “setKeepAlive()”setKeepAlive(enable?, initialDelay?): this;Enable/disable keep-alive functionality, and optionally set the initial delay before the first keepalive probe is sent on an idle socket.
Set initialDelay (in milliseconds) to set the delay between the last
data packet received and the first keepalive probe. Setting 0 forinitialDelay will leave the value unchanged from the default
(or previous) setting.
Enabling the keep-alive functionality will set the following socket options:
SO_KEEPALIVE=1TCP_KEEPIDLE=initialDelayTCP_KEEPCNT=10TCP_KEEPINTVL=1
Parameters
Section titled “Parameters”enable?
Section titled “enable?”boolean
initialDelay?
Section titled “initialDelay?”number
Returns
Section titled “Returns”this
The socket itself.
v0.1.92
Implementation of
Section titled “Implementation of”NetSocket.setKeepAlivesetNoDelay()
Section titled “setNoDelay()”setNoDelay(noDelay?): this;Enable/disable the use of Nagle’s algorithm.
When a TCP connection is created, it will have Nagle’s algorithm enabled.
Nagle’s algorithm delays data before it is sent via the network. It attempts to optimize throughput at the expense of latency.
Passing true for noDelay or not passing an argument will disable Nagle’s
algorithm for the socket. Passing false for noDelay will enable Nagle’s
algorithm.
Parameters
Section titled “Parameters”noDelay?
Section titled “noDelay?”boolean
Returns
Section titled “Returns”this
The socket itself.
v0.1.90
Implementation of
Section titled “Implementation of”NetSocket.setNoDelaysetRecvBufferSize()
Section titled “setRecvBufferSize()”setRecvBufferSize(size): this;Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
setSendBufferSize()
Section titled “setSendBufferSize()”setSendBufferSize(size): this;Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
setTimeout()
Section titled “setTimeout()”setTimeout(timeout, callback?): this;Sets the socket to timeout after timeout milliseconds of inactivity on
the socket. By default net.Socket do not have a timeout.
When an idle timeout is triggered the socket will receive a 'timeout' event but the connection will not be severed. The user must manually call socket.end() or socket.destroy() to
end the connection.
socket.setTimeout(3000);socket.on('timeout', () => { console.log('socket timeout'); socket.end();});If timeout is 0, then the existing idle timeout is disabled.
The optional callback parameter will be added as a one-time listener for the 'timeout' event.
Parameters
Section titled “Parameters”timeout
Section titled “timeout”number
callback?
Section titled “callback?”() => void
Returns
Section titled “Returns”this
The socket itself.
v0.1.90
Implementation of
Section titled “Implementation of”NetSocket.setTimeoutsetTypeOfService()
Section titled “setTypeOfService()”setTypeOfService(tos): this;Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
unref()
Section titled “unref()”unref(): this;Calling unref() on a socket will allow the program to exit if this is the only
active socket in the event system. If the socket is already unrefed callingunref() again will have no effect.
Returns
Section titled “Returns”this
The socket itself.
v0.9.1
Implementation of
Section titled “Implementation of”NetSocket.unrefwrite()
Section titled “write()”Call Signature
Section titled “Call Signature”write(buffer, cb?): boolean;The writable.write() method writes some data to the stream, and calls the
supplied callback once the data has been fully handled. If an error
occurs, the callback will be called with the error as its
first argument. The callback is called asynchronously and before 'error' is
emitted.
The return value is true if the internal buffer is less than the highWaterMark configured when the stream was created after admitting chunk.
If false is returned, further attempts to write data to the stream should
stop until the 'drain' event is emitted.
While a stream is not draining, calls to write() will buffer chunk, and
return false. Once all currently buffered chunks are drained (accepted for
delivery by the operating system), the 'drain' event will be emitted.
Once write() returns false, do not write more chunks
until the 'drain' event is emitted. While calling write() on a stream that
is not draining is allowed, Node.js will buffer all written chunks until
maximum memory usage occurs, at which point it will abort unconditionally.
Even before it aborts, high memory usage will cause poor garbage collector
performance and high RSS (which is not typically released back to the system,
even after the memory is no longer required). Since TCP sockets may never
drain if the remote peer does not read the data, writing a socket that is
not draining can keep buffering until the process runs out of memory.
Writing data while the stream is not draining is particularly
problematic for a Transform, because the Transform streams are paused
by default until they are piped or a 'data' or 'readable' event handler
is added.
If the data to be written can be generated or fetched on demand, it is
recommended to encapsulate the logic into a Readable and use pipe. However, if calling write() is preferred, it is
possible to respect backpressure and avoid memory issues using the 'drain' event:
function write(data, cb) { if (!stream.write(data)) { stream.once('drain', cb); } else { process.nextTick(cb); }}
// Wait for cb to be called before doing any other write.write('hello', () => { console.log('Write completed, do more writes now.');});A Writable stream in object mode will always ignore the encoding argument.
Parameters
Section titled “Parameters”buffer
Section titled “buffer”string | Uint8Array<ArrayBufferLike>
(err?) => void
Returns
Section titled “Returns”boolean
false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.
v0.9.4
Implementation of
Section titled “Implementation of”NetSocket.writeOverrides
Section titled “Overrides”Stream.Duplex.writeCall Signature
Section titled “Call Signature”write( str, encoding?, cb?): boolean;Parameters
Section titled “Parameters”string | Uint8Array<ArrayBufferLike>
encoding?
Section titled “encoding?”BufferEncoding
(err?) => void
Returns
Section titled “Returns”boolean
Implementation of
Section titled “Implementation of”NetSocket.writeOverrides
Section titled “Overrides”Stream.Duplex.writeVariables
Section titled “Variables”_default
Section titled “_default”const _default: object;Type Declaration
Section titled “Type Declaration”connect
Section titled “connect”connect: (options, connectionListener?) => Socket;Parameters
Section titled “Parameters”options
Section titled “options”SocketConnectOpts
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”createConnection
Section titled “createConnection”createConnection: (options, connectionListener?) => Socket;Parameters
Section titled “Parameters”options
Section titled “options”SocketConnectOpts
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”createServer
Section titled “createServer”createServer: (options?, connectionListener?) => Server;Parameters
Section titled “Parameters”options?
Section titled “options?”ServerOpts | ((socket) => void)
connectionListener?
Section titled “connectionListener?”(socket) => void
Returns
Section titled “Returns”isIP: (input) => 0 | 4 | 6;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”0 | 4 | 6
isIPv4
Section titled “isIPv4”isIPv4: (input) => boolean;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
isIPv6
Section titled “isIPv6”isIPv6: (input) => boolean;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
Server
Section titled “Server”Server: typeof Server;Socket
Section titled “Socket”Socket: typeof Socket;Functions
Section titled “Functions”connect()
Section titled “connect()”function connect(options, connectionListener?): Socket;Parameters
Section titled “Parameters”options
Section titled “options”SocketConnectOpts
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”createConnection()
Section titled “createConnection()”function createConnection(options, connectionListener?): Socket;Parameters
Section titled “Parameters”options
Section titled “options”SocketConnectOpts
connectionListener?
Section titled “connectionListener?”() => void
Returns
Section titled “Returns”createServer()
Section titled “createServer()”function createServer(options?, connectionListener?): Server;Parameters
Section titled “Parameters”options?
Section titled “options?”ServerOpts | ((socket) => void)
connectionListener?
Section titled “connectionListener?”(socket) => void
Returns
Section titled “Returns”References
Section titled “References”default
Section titled “default”Renames and re-exports _default
Re-exports isIP
isIPv4
Section titled “isIPv4”Re-exports isIPv4
isIPv6
Section titled “isIPv6”Re-exports isIPv6