标签: c linux sockets fopen
我在linux中用c创建一个简单的文件服务器。我的方法是我从客户端发送文件的名称。文件服务器接收文件名。并搜索该文件并将其打开以供阅读。从中读取数据,并将数据发送到客户端。 但问题是客户端文件的名称。我转移那台服务器。我在那里打印了名字,并在那里收到(我的意思是服务器)。但是服务器程序不会打开具有指定名称的文件。并给我一个错误:没有这样的文件或目录。
我必须添加的是:我创建了.txt文件并输入了1到30之间的数字
答案 0 :(得分:1)
你应该显示一些代码,也许还有一些日志输出。
我猜测问题是服务器可执行文件使用错误的当前目录运行。您是否正在发送完整路径名,目录可能只存在于客户端上?
答案 1 :(得分:0)
尝试为服务器使用gdb之类的调试器。当展开告诉您here时,您可能不在您想要的目录中。
gdb
出于调试目的,您还可以打印(到stderr,到某些日志记录或调试文件,或通过syslog)getcwd(3)(或者{{1}的结果在get_current_dir_name或open来电之前的服务器中。} /)
stderr
syslog
get_current_dir_name
open