25 lines
585 B
Racket
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)))
|