看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) MFC 問題(Question): 最近在用MFC製作FTP的Client端 大部分是使用CFtpConnection這個類別 來進行檔案傳輸或下載 但最近發現 如果Server端已斷線 此時新的FTP Client當然連不進來 但已連上的 卻還是可以繼續丟資料到Server... 但在CFtpConnection類別內 卻沒有看到連線後判斷是否Server還活著的函數 想請問是否有辦法達成上述的問題呢? 謝謝!! 祝大家 新年快樂^____^ 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) [目前程式碼] 連線: CInternetSession *InternetSession; //指向建立連線的連線設定物件 CFtpConnection *m_pFtpConnection; //指向與FTP伺服器連結的連線物件 InternetSession = new CInternetSession(_T("My Ftp Session")); //建立CInternetSession物件 m_pFtpConnection = InternetSession->GetFtpConnection(_T("192.168.7.100"), _T("Apple"), _T("1234"), 21,true); 回圈內: m_pFtpConnection->PutFile(FtpFilePath,_T("ABC.ini")); 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.212.97 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1419916500.A.476.html
tubbysong: Command send "NOOP"會反回200 noop command success f 12/30 19:46
tubbysong: XXX閒置時這20、30秒要丟一次 12/30 19:50
謝謝t大的回覆! 我查了NOOP這個指令是為了避免被Server踢掉的一直連線指令 但我原本的程式就是 每隔一段時間 定期會將資料丟至Server 這樣應該就不會有被Server踢掉問題 還是您的意思是NOOP也可以偵測 現在是否還與Server保持連線呢? 我查到這裡也有人詢問此問題: http://ppt.cc/gen.php 我用了2F的回答 在我原本的迴圈內加入: bool bConnect=false; bConnect=InternetSession->SetOption(INTERNET_OPTION_KEEP_CONNECTION ,INTERNET_KEEP_ALIVE_ENABLED); if(bConnect==false) MessageBox(_T("BREAK LINE"), _T("Connection Info")); 但就算有在連線 bConnect也是回傳false耶 QQ 請問您或版上的其他熱心網友 可以給些建議 謝謝!! ※ 編輯: srxrrr (211.72.212.97), 12/31/2014 14:22:07
tubbysong: Noop會被回應200所以你在線上 12/31 17:50
tubbysong: 上面你查的code沒有連線查詢,他是建立連接 12/31 17:55