mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
22 lines
786 B
Scheme
Executable file
22 lines
786 B
Scheme
Executable file
#!/usr/bin/env chibi-scheme
|
|
|
|
(import (scheme base) (chibi net))
|
|
|
|
(define (get-udp-address-info host service)
|
|
(let ((hints (make-address-info address-family/inet
|
|
socket-type/datagram
|
|
ip-proto/udp)))
|
|
(get-address-info host service hints)))
|
|
|
|
;; create and bind a udp socket
|
|
(let* ((addr (get-udp-address-info #f 5556))
|
|
(sock (socket (address-info-family addr)
|
|
(address-info-socket-type addr)
|
|
(address-info-protocol addr))))
|
|
(bind sock (address-info-address addr) (address-info-address-length addr))
|
|
;; for every packet we receive, just send it back
|
|
(let lp ()
|
|
(cond
|
|
((receive sock 512 0 addr)
|
|
=> (lambda (bv) (send sock bv 0 addr))))
|
|
(lp)))
|