2012-01-17 55 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調用之前的結果。

相關問題