aboutsummaryrefslogtreecommitdiff
path: root/examples/udp.client
blob: 312bb46bbc73c5a75045d4b20e40887c34b9a2b3 (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
32
33
# Example of sending from an unconnected socket

set s [socket dgram]

foreach i [range 1 5] {
	# Specify the address and port with sendto
	$s sendto "$i + $i + 10" 127.0.0.1:20000

	# Receive the response - max length of 100
	puts [$s recvfrom 100]
}

$s close

# Now sending via a connected udp socket

set s [socket dgram 127.0.0.1:20000]
$s buffering none

foreach i [range 5 10] {
	# Socket is connected, so can just use puts here
	# No need to flush because we set 'buffering none' above.
	$s puts -nonewline "$i * $i"
	#$s flush

	# Receive the response - max length of 100
	puts [$s recvfrom 100]
}

# If taint is supported, this is an unsafe command
# and the server will refuse to do it
$s puts -nonewline {[exec echo hello]}
puts [$s recvfrom 100]