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
| #!/bin/bash
|
| ADDR=ipc:///tmp/async_demo
| COUNT=10
|
| ./server $ADDR &
| SERVER_PID=$!
| trap "kill $SERVER_PID" 0
| typeset -a CLIENT_PID
| i=0
| sleep 1
| while (( i < COUNT ))
| do
| i=$(( i + 1 ))
| rnd=$(( RANDOM % 1000 + 500 ))
| echo "Starting client $i: server replies after $rnd msec"
| ./client $ADDR $rnd &
| eval CLIENT_PID[$i]=$!
| done
|
| i=0
| while (( i < COUNT ))
| do
| i=$(( i + 1 ))
| wait ${CLIENT_PID[$i]}
| done
| kill $SERVER_PID
|
|