多线程套接字测试C
Multithreaded socket testing C
我有一个使用 TCP 套接字(server.c 和 client.c)的文件传输程序。 Server.c 可以使用线程接受多个客户端连接。 Client.c 连接到服务器并等待用户输入 'get' 以接收服务器目录中的可下载文件列表。然后客户端等待用户输入select一个或多个他们想要下载的文件(Ex1.$test.txt)(Ex2.$test.txtsample.txt)。然后服务器将该文件发送给客户端(如果存在)。记录传输时间。
现在,我想测试转账时间:
- 同时将 n 个客户端连接到服务器,每个客户端同时从一个文件夹下载 x 个文件。
我假设我必须创建一个脚本(shell 脚本?)来执行此操作。但是,如果我的 client.c 接受用户输入('get' 文件请求和输入文件),我将如何创建此脚本?这甚至重要还是我需要修改我的程序?我还没有写过脚本,所以这对我来说是全新的。
一点bash胶水:
date
for x in 1 2 3 4 5 6 7 8 9 10
do
echo "get file" | ./client &
done
wait
date
要点:&
到运行后台下载,wait
收集所有后台作业。
一旦有了想法,您应该能够想出一个更好的想法。
我有一个使用 TCP 套接字(server.c 和 client.c)的文件传输程序。 Server.c 可以使用线程接受多个客户端连接。 Client.c 连接到服务器并等待用户输入 'get' 以接收服务器目录中的可下载文件列表。然后客户端等待用户输入select一个或多个他们想要下载的文件(Ex1.$test.txt)(Ex2.$test.txtsample.txt)。然后服务器将该文件发送给客户端(如果存在)。记录传输时间。
现在,我想测试转账时间:
- 同时将 n 个客户端连接到服务器,每个客户端同时从一个文件夹下载 x 个文件。
我假设我必须创建一个脚本(shell 脚本?)来执行此操作。但是,如果我的 client.c 接受用户输入('get' 文件请求和输入文件),我将如何创建此脚本?这甚至重要还是我需要修改我的程序?我还没有写过脚本,所以这对我来说是全新的。
一点bash胶水:
date
for x in 1 2 3 4 5 6 7 8 9 10
do
echo "get file" | ./client &
done
wait
date
要点:&
到运行后台下载,wait
收集所有后台作业。
一旦有了想法,您应该能够想出一个更好的想法。