Size: a a a

2021 May 14

VB

Vladimir Berezenko in ru.nim.talks
proc bindAddr*(socket: AsyncSocket, port = Port(0), address = "") {.
 tags: [ReadIOEffect].} =
 ## Binds ``address``:``port`` to the socket.
 ##
 ## If ``address`` is "" then ADDR_ANY will be bound.
 var realaddr = address
 if realaddr == "":
   case socket.domain
   of AF_INET6: realaddr = "::"
   of AF_INET: realaddr = "0.0.0.0"
   else:
     raise newException(ValueError,
       "Unknown socket address family and no address specified to bindAddr")
источник

VB

Vladimir Berezenko in ru.nim.talks
и вот так "" превращаются в 0.0.0.0
источник

A

Alexander in ru.nim.talks
ага, тоже сюда смотрю, просто до этого пытался vi, там gd конечно не работает :)
источник

A

Alexander in ru.nim.talks
в общем, поможет asynchttp не умеет ipv6
источник

VB

Vladimir Berezenko in ru.nim.talks
и там по умолчанию у сокета домен AF_INET
источник

A

Alexander in ru.nim.talks
потому как newAsyncSocket() и не меняется у него домен
источник

A

Alexander in ru.nim.talks
а передать его нельзя
источник

VB

Vladimir Berezenko in ru.nim.talks
сделай PR примитивный, 1 функцию дописать-то
источник

A

Alexander in ru.nim.talks
ага, конечно
источник

A

Alexander in ru.nim.talks
что-то такое было, не могу вспомнить: ... видимо build_all сначала
источник

VB

Vladimir Berezenko in ru.nim.talks
у меня репа склоненая отдельно. я там просто git clean -df и build_all
источник

VB

Vladimir Berezenko in ru.nim.talks
а так надо в listen* поправить proc listen*(server: AsyncHttpServer; port: Port; address = "", socket: AsyncSocket = nil)
и там уже проверять если isnil, то newAsyncSocket, а иначе просто присвоить
источник

A

Alexander in ru.nim.talks
источник

VB

Vladimir Berezenko in ru.nim.talks
да не так-же...
источник

VB

Vladimir Berezenko in ru.nim.talks
просто передай туда сокет и всё.
источник

VB

Vladimir Berezenko in ru.nim.talks
мало-ли там кроме домена захочется ещё что-то с сокетом сотворить...
источник

A

Alexander in ru.nim.talks
мне кажется если сокет передавать - это отдельно что-то нужно, а не listen
источник

A

Alexander in ru.nim.talks
потому как в listen нет смысла передавать и сокет и адреса всякие
источник

VB

Vladimir Berezenko in ru.nim.talks
это именно listen. он там создается-же
источник

A

Alexander in ru.nim.talks
тогда нужен listenSocket и передавать туда socket (но без адресов)
источник