aboutsummaryrefslogtreecommitdiff
path: root/tests/udpserver_reflect.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/udpserver_reflect.sh')
-rwxr-xr-xtests/udpserver_reflect.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/udpserver_reflect.sh b/tests/udpserver_reflect.sh
new file mode 100755
index 0000000..718049f
--- /dev/null
+++ b/tests/udpserver_reflect.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+
+PIPEFILE="pipe.$$"
+
+control_c()
+# run if user hits control-c
+{
+ echo -en "\n*** Ouch! Exiting ***\n"
+ rm -f ${PIPEFILE}
+ exit $?
+}
+
+P=$1
+PORT=$((P))
+if [ ${PORT} -lt 1 ]; then
+ echo "usage: $0 <port>" 1>&2
+ exit 1
+fi
+
+echo "register Ctrl-C"
+trap control_c SIGINT
+
+echo "make pipe"
+mknod ${PIPEFILE} p
+echo "start server"
+cat ${PIPEFILE} | nc -w 10 -u -l -p ${PORT} > ${PIPEFILE}
+echo "server quit"
+rm ${PIPEFILE}