racket-dns-2012/experiments/sfclient3.rkt

25 lines
585 B
Racket

#lang racket/base
(require racket/match)
(require racket/udp)
(define s (udp-open-socket #f #f))
(define buffer (make-bytes 8))
(define nrepeats 3500)
(for-each
(lambda (x) (write `(,x milliseconds in ,nrepeats repeats =
,(exact->inexact (/ x nrepeats)))) (newline))
(cdr
(call-with-values (lambda ()
(time-apply
(lambda ()
(for ([i (in-range nrepeats)])
(udp-send-to s "127.0.0.1" 5678 #"get")
(sync/timeout 0.5
(wrap-evt (udp-receive!-evt s buffer)
(match-lambda
[(list 8 _ _) 'ok])))))
'()))
list)))