upd4
This commit is contained in:
@@ -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()!
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user