79 lines
1.6 KiB
Bash
Executable file
79 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
puits=false
|
|
sourc=false
|
|
protocol="tcp"
|
|
port=`expr \`id -u\` % 3000 + 14578`
|
|
interrupted=1
|
|
|
|
usage() { echo "Usage: $0 [[-p|-s] [-t (tcp|mictcp)]" 1>&2; exit 1; }
|
|
|
|
# Stop all components gracefully
|
|
function graceful_stop ()
|
|
{
|
|
|
|
echo "Arret"
|
|
killall -9 cvlc > /dev/null 2>&1
|
|
killall -9 vlc > /dev/null 2>&1
|
|
killall -9 gateway > /dev/null 2>&1
|
|
|
|
if [ $interrupted -eq 1 ]; then
|
|
# Set return code to 2
|
|
exit 2
|
|
fi
|
|
}
|
|
|
|
# initialise trap to call graceful_stop function
|
|
# when signal 2 (SIGINT) is received
|
|
trap "graceful_stop" 2
|
|
|
|
while getopts "pst:" o; do
|
|
case "${o}" in
|
|
t)
|
|
protocol=${OPTARG}
|
|
if [ "$protocol" != "tcp" ] && [ "$protocol" != "mictcp" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
;;
|
|
p)
|
|
puits=true
|
|
;;
|
|
s)
|
|
sourc=true
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ([ "$puits" = true ] && [ "$sourc" = true ]) || ([ "$puits" = false ] && [ "$sourc" = false ]) ; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$puits" = true ]; then
|
|
|
|
echo "Lancement du puits, protocole " $protocol
|
|
cvlc rtp://127.0.0.1:$port > /dev/null 2>&1 &
|
|
|
|
if [ "$protocol" = "mictcp" ]; then
|
|
cd build
|
|
./gateway -p -t $protocol $port &
|
|
cd ..
|
|
fi
|
|
fi
|
|
|
|
if [ "$sourc" = true ]; then
|
|
|
|
echo "Lancement de la source, protocol " $protocol
|
|
cd build
|
|
./gateway -s -t $protocol 127.0.0.1 $port &
|
|
cd ..
|
|
fi
|
|
|
|
echo "Appuyez sur ENTREE pour arreter"
|
|
read line
|
|
interrupted=0
|
|
graceful_stop
|