我正在编写一个bash脚本来测试我的多连接TCP服务器。该脚本应该多次启动客户端。以下是我到目前为止所做的事情:
#!/bin/bash
toport=8601
for ((port = 8600; port < 8610; port++));
do
client 10.xml &
replace $port $toport -- "10.xml" #modifying the port in the xml file
((toport=toport+1))
done
由于速度过快,大多数客户都没有足够的时间连接到服务器。所以我在循环中添加了sleep 1
,如下所示:
#!/bin/bash
toport=8601
for ((port = 8600; port < 8610; port++));
do
client 10.xml &
replace $port $toport -- "10.xml" #modifying the port in the xml file
((toport=toport+1))
sleep 1
done
但由于某种原因,它变得更糟,因为没有客户端能够再连接到服务器了。你知道为什么吗?
答案 0 :(得分:1)
在您的脚本中,您在后台运行客户端,并将sleep语句放在循环的末尾,如下所示修改它,或者在前台而不是背景中运行客户端
client 10.xml &
sleep 3
replace $port $toport -- "10.xml" #modifying the port in the xml file
((toport=toport+1))
#sleep 1