This commit is contained in:
ge
2026-04-04 00:47:35 +03:00
parent 4e43912583
commit 1cf6d878b5
19 changed files with 438 additions and 302 deletions
+45
View File
@@ -0,0 +1,45 @@
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(C.IPPROTO_IPV6, C.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.name(remote_addr)!)
eprintln('Remote address: ${remote_addr} | ${remote_addr.family()} | ${remote_addr.size()}')
eprintln(remote_addr.u8_array())
conn.close()!
}
}