TCP- und Unix-Domain-Server und -Clients laufen auf der Event-Loop von Elide, sodass ein Skript am Leben bleibt, solange ein Server lauscht oder ein Socket offen ist:
import net from "node:net";
const server = net.createServer((socket) => {
socket.end("hello");
server.close();
});
server.listen(0, "127.0.0.1", () => {
const { port } = server.address();
net.connect(port, "127.0.0.1").on("data", (data) => console.log(String(data)));
});Adress-Hilfsfunktionen und Wertklassen sind ebenfalls verfügbar:
import net from "node:net";
console.log(net.isIP("127.0.0.1")); // 4
console.log(net.isIP("::1")); // 6
console.log(net.isIP("not-an-ip")); // 0
const blocked = new net.BlockList();
blocked.addAddress("127.0.0.1");
console.log(blocked.check("127.0.0.1")); // trueDas Modul exportiert Socket, Stream, Server, BlockList, SocketAddress,
connect, createConnection, createServer, die IP-Hilfsfunktionen und die
Standardeinstellungen für die automatische Auswahl der Adressfamilie. listen()
und connect() akzeptieren für Unix-Domain-Sockets einen Dateisystempfad.
Bei aktiven Sandbox-Flags wird der Netzwerkzugriff über --allow-net[=HOSTS] und
--deny-net <HOSTS> gesteuert.
Reference
Status: Partial · Not measured
net exports
BlockList, Server, Socket, SocketAddress, Stream, connect, createConnection, createServer, getDefaultAutoSelectFamily, getDefaultAutoSelectFamilyAttemptTimeout, isIP, isIPv4, isIPv6, setDefaultAutoSelectFamily, setDefaultAutoSelectFamilyAttemptTimeout
Not implemented
BoundSocket.