@net
The @net module provides TCP socket communication and DNS resolution.
Import
import @net
Functions
connect()
(host string, port int) -> Socket
Connects to a remote host on the specified port.
import @net
do main() {
mut sock = net.connect("example.com", 80)
ensure net.close(sock)
net.send(sock, "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n")
mut response = net.receive(sock, 4096)
println(response)
}
listen()
(port int) -> Listener
Listens for incoming connections on a port.
mut listener = net.listen(8080)
ensure net.close(listener)
accept()
(listener Listener) -> Socket
Accepts an incoming connection from a listener.
mut client = net.accept(listener)
send()
(sock Socket, data string)
Sends data over a socket.
net.send(sock, "Hello from EZ!")
receive()
(sock Socket, max int) -> string
Receives up to max bytes from a socket.
mut data = net.receive(sock, 1024)
close()
(sock Socket)
Closes a socket or listener.
net.close(sock)
set_timeout()
(sock Socket, ms int)
Sets the read/write timeout in milliseconds.
net.set_timeout(sock, 5000) // 5 second timeout
resolve()
(hostname string) -> string
Resolves a hostname to an IP address.
import @net
do main() {
mut ip = net.resolve("example.com")
println(ip) // e.g., "93.184.216.34"
}
Example Program
import @net
do main() {
// Simple TCP echo server
mut listener = net.listen(9000)
ensure net.close(listener)
println("Listening on port 9000...")
mut client = net.accept(listener)
ensure net.close(client)
mut data = net.receive(client, 1024)
println("Received:", data)
net.send(client, "Echo: " + data)
}