I'm using this to test asyncnet sockets
    
    
    proc simulateAsyncClientServer*(function: (AsyncSocket, AsyncSocket) -> 
void) =
        let ssocket = newAsyncSocket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
        let rclient = newAsyncSocket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
        var sclient: AsyncSocket
        defer:
            ssocket.close()
            rclient.close()
            sclient.close()
        let port = 55145.Port
        let host = "127.0.0.1"
        ssocket.setSockOpt(OptReuseAddr, true)
        ssocket.bindAddr(port, host)
        ssocket.listen()
        waitfor rclient.connect(host, port)
        sclient = waitfor ssocket.accept()
        function(sclient, rclient)
    
    
    Run

Reply via email to