0

我遇到了与写入文件有关的问题。
我已经server/clientc(for Linux, via sockets) 中创建了。
我希望clients保存一个包含他们所做的所有操作的日志文件。当我打开客户端并传输文件时,一切正常,但是当我检查服务器的多请求支持(通过创建一个检查所有内容的 bash 脚本)时,我发现我的客户端都没有写任何东西。

客户端命令是:./client_prog host port file_to_receive log_file

脚本:

cd client1/
./client_prog localhost 22222 file.txt log &
cd client2/
./client_prog localhost 22222 file.txt log &
cd client3/
./client_prog localhost 22222 file.txt log &
#more clients....

每个客户端创建日志线程并使用管道传输数据,日志线程使用fopen(),fprintf()和fclose()写入。

顺便说一句,当我从两个不同的终端尝试时,它工作正常。
这没有任何意义。。

谢谢!

4

1 回答 1

0

那是您的确切脚本(或简化的spinet)吗?

在尝试移动到其他客户端目录之前(在第一个客户端之后),您确定不想执行“ cd .. ”吗?因为如果您最初的 ' cd client2 ' 失败,那么您最终会尝试使用相同的 ' file.txt ' 和 ' log ' 启动客户端,这可能会导致您出现一些错误?

于 2013-01-22T20:56:28.670 回答