zhangmeng
2024-04-22 16935f4aebffdd1b6580b844391a0aa0f4f3012b
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