【发布时间】:2013-05-10 07:15:36
【问题描述】:
我编写了两个程序,一个是服务器,另一个是客户端。
这两个程序的目的是文件传输。首先,将启动服务器程序,然后启动客户端程序。客户端程序将从服务器接收文件。
我想运行一个测试,看看对于多种文件大小的传输需要多长时间。每个文件大小我会做10次左右。
代码没问题。当我写两个这样的脚本时:
#!/bin/bash
time=$1
for((n=0;n<time;n++))
do
./server "3mb.MP3"
done
#!/bin/bash
time=$1
for((n=0;n<time;n++))
do
./client $n
done
并先运行服务器脚本,然后运行客户端脚本。我意识到由于for循环,创建了许多服务器实例,因此创建了客户端。我只希望一个客户端和一个服务器一次相互通信。当文件传输结束后,我们将创建一对新的客户端-服务器。
有什么解决办法吗?
谢谢!
(我使用的是 Ubuntu 12.04。)
【问题讨论】:
-
问题不在于脚本,而在于您编写服务器/客户端代码的方式。将服务器程序更改为同时接受多个客户端(假设您不只是复制/粘贴代码),或者确保每个服务器能够独立于另一个运行。
-
谢谢,但在我的测试中,一台服务器一次与一位客户通信。如果一台服务器接受多个客户端,则结果不正确。