> > "accept" in "nativesockets"?

you can use "accept".

this is example code.

check 
[accept](https://nim-lang.org/docs/posix.html#accept,SocketHandle,ptr.SockAddr,ptr.Socklen)

if you support only linux, can use accept4.

(can make socket non-blocking at the same time as accept.)
    
    
    var server = newNativeSocket()
    
    # ~
    # bind, listen
    # ~
    
    var
      client: SocketHandle
      sockAddress: Sockaddr_in
      addrLen = SockLen(sizeof(sockAddress))
      
      # for accept4
      SOCK_NONBLOCK* {.importc, header: "<sys/socket.h>".}: cint
      
      # for accept4
      SOCK_CLOEXEC* {.importc, header: "<sys/socket.h>".}: cint
    
    proc accept4(a1: cint, a2: ptr SockAddr, a3: ptr Socklen, flags: cint): cint
      {.importc, header: "<sys/socket.h>".}
    
    client = accept(server, cast[ptr SockAddr](addr(sockAddress)), 
addr(addrLen))
    
    client = accept4(server, cast[ptr SockAddr](addr(sockAddress)), 
addr(addrLen), SOCK_NONBLOCK or SOCK_CLOEXEC)
    
    

Reply via email to