Networking

js/net.md

Fino networking ranges from high-level Fetch-style HTTP to low-level sockets, TLS, DNS, mDNS, QUIC, WebSockets, server-sent events, and WebTransport.

Start with the highest-level API that matches the protocol. For anything HTTP-shaped — servers, routing, clients, WebSockets, SSE, WebTransport — start with the HTTP section:

Low-Level Sockets

Socket APIs expose nonblocking descriptors, async readers/writers, datagrams, address helpers, and errno constants. They are useful for custom protocols and runtime modules, but application servers should prefer HTTP, WebSocket, or WebTransport helpers.

TLS And QUIC

fino:net/tls wraps OpenSSL for client and server handshakes. fino:net/quic provides QUIC endpoint and stream primitives used by HTTP/3 and WebTransport. Availability depends on linked native libraries; check capability booleans and handle unavailable protocol support explicitly.

DNS

fino:net/dns resolves names through provider abstractions, and fino:net/mdns handles local multicast discovery. Use provider injection in tests when network answers must be deterministic.