This commit is contained in:
ge
2026-04-12 16:30:28 +03:00
parent 5b56659d21
commit 2d2281b8cc
26 changed files with 1002 additions and 640 deletions
+47
View File
@@ -0,0 +1,47 @@
import netio
fn main() {
ai := netio.translate_addr(
service: '1081'
sock_type: netio.sock_stream
family: netio.af_inet6
flags: netio.ai_passive
)!
mut socket := netio.Socket{}
mut listen_addr := netio.SocketAddr{}
for a in ai {
socket = netio.Socket.new(a.family, a.sock_type, a.protocol)!
socket.set_option(netio.ipproto_ipv6, netio.ipv6_v6only, 0)!
socket.bind(a.addr) or {
socket.close()!
continue
}
listen_addr = a.addr
break
}
defer {
socket.close() or { panic(err) }
}
socket.listen(10) or {
eprintln('LISTEN: ${err}')
exit(1)
}
println('Listening on ${listen_addr}...')
for {
conn, remote_addr := socket.accept() or {
eprintln('ACCEPT: ${err}')
exit(1)
}
eprintln(netio.translate_name(remote_addr,
flags: netio.ni_numerichost | netio.ni_numericserv
)!)
eprintln(netio.translate_name(remote_addr)!)
eprintln('Remote address: ${remote_addr}')
conn.close()!
}
}