blob: cc026f0a48c943fc9927d27ffc6e9fe5203e4357 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# Example of a udp server which sends a response
# Listen on port 20000. No host specified means 0.0.0.0
set s [socket dgram.server 20000]
# We won't run unsafe commands, but
# we don't mind sending anything back
catch {
$s taint sink 0
}
# For each request...
$s readable {
# Get the request (max 80 chars) - need the source address
set buf [$s recvfrom 80 addr]
puts -nonewline "read '$buf' from $addr"
try {
set result "$buf = [expr $buf]"
} on error {msg} {
set result "Error: $buf => $msg"
}
puts ", sending '$result' to $addr"
# Send the result back to where it came from
$s sendto $result $addr
}
vwait done
|