2012-01-17 54 views
0

我在linux中创建一个简单的文件服务器。我的方法是,我从客户端发送文件的名称。文件服务器接收文件名称。然后搜索文件并将其打开以供阅读。从中读取数据,并将数据发送到客户端。 但问题在于客户端文件的名称。我转移该服务器。我在那里打印了名字,并在那里收到(我的意思是服务器)。但是服务器程序不会打开指定名称的文件。并给我一个错误:没有这样的文件或目录存在。错误当我使用fopen从文件读取时,没有这样的文件或目录存在

一个,我必须补充说明的是:我有.txt文件创建,并在其中输入的号码从1到30

+0

请问您可以发布您的代码的相关部分?然后人们可以帮助你。 – 2012-01-17 09:30:43

回答

1

你应该表现出一些代码,也许有些日志输出了。

我想这个问题是服务器可执行文件运行错误的当前目录。你是否发送完整的路径名,目录可能只存在于客户端?

+0

./fileclientfinal.exe 127.0.0.1 1200“firstdata.txt” 客户fd是:3 输入名称方案:danish.txt 服务器的文件的名称是:danish.txt 的大小缓冲区是:11 发送的字节是:11 收到的字节数是:0 服务器在端口上终止感谢您的回复。请问客户端上的错误是......服务器端的错误日志是:./fileserverfinal.exe 1200 客户端fd是:4 接收到的字节数是:11 要传输的文件是:danish.txt open error:No such file or directory – user1063202 2012-01-17 15:50:23

0

尝试使用像gdb这样的调试器作为服务器。由于放松告诉你here,你可能不在你想要的目录。

你也可以,用于调试的目的,打印(到stderr,一些日志或调试文件,或直通syslog)在你的服务器getcwd(3)(或者也许get_current_dir_name)的openfopen调用之前的结果。

相关问题