net

Low-level TCP client/server and DNS lookup using raw POSIX sockets.

Import

import net

Functions

net.tcp_connect(host: str, port: int) -> conn

Open a TCP connection to host:port, returning a connection object.

net.tcp_listen(port: int) -> listener

Bind and listen on the given TCP port, returning a listener object.

net.resolve(host: str) -> str

DNS lookup - resolve a hostname to an IP address string.

Examples

import net

-- DNS lookup
let ip = net.resolve("example.com")
println(ip)

-- TCP client
let conn = net.tcp_connect("example.com", 80)
conn.write("GET / HTTP/1.0\r\nHost: example.com\r\n\r\n")
let resp = conn.read()
println(resp)
conn.close()

-- TCP server
let srv = net.tcp_listen(8080)
let client = srv.accept()
let msg = client.read()
client.write("echo: {msg}")
client.close()